如何在 JavaScript localStorage 中存储(字典)对象?
Posted
技术标签:
【中文标题】如何在 JavaScript localStorage 中存储(字典)对象?【英文标题】:How to store a (dictionary) object in 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']);
以上行不通。我该怎么做?
【问题讨论】:
Storing Objects in html5 localStorage的可能重复 【参考方案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]"
【讨论】:
以上是关于如何在 JavaScript localStorage 中存储(字典)对象?的主要内容,如果未能解决你的问题,请参考以下文章