【问题标题】:How to store a (dictionary) object in JavaScript localStorage?如何在 JavaScript localStorage 中存储(字典)对象?
【发布时间】:2012-11-24 11:06:37
【问题描述】:
我有一本非常简单的字典。
var meta = {'foo':'1','moo':'2'}
我想将它存储在本地存储中并检索它。
window.localStorage.setItem("meta", meta);
var meta1 = window.localStorage.getItem("meta");
alert(meta1['foo']);
以上行不通。我该怎么做?
【问题讨论】:
标签:
javascript
json
object
local-storage
【解决方案1】:
localStorage 将其输入转换为字符串,因此您必须将对象转换为 JSON 字符串并返回:
window.localStorage.setItem("meta", JSON.stringify(meta));
var meta1 = JSON.parse(window.localStorage.getItem("meta"));
alert(meta1['foo']);
您的代码不起作用的原因是因为在localStorage 中设置一个对象会将其值设置为"[object Object]"(object.toString() 返回"[object Object]"):
window.localStorage.setItem("objectInput", {some:"object"});
var objectOutput = window.localStorage.getItem("objectInput");
alert(objectOutput);
// This returns "[object Object]"