有没有类似sessionStorage的东西,但有多维键?
我想在本地保存树状结构的值,然后根据用户交互检索它们。经过一番研究后,我发现sessionStorage
(或localStorage
)可能是一个很好的方法去做这件事。但是我在保存嵌套数据时遇到了问题。有没有类似sessionStorage的东西,但有多维键?
通常你必须:
sessionStorage['key'] = 'someString';
我试图执行类似:
sessionStorage['key1'] = [];
sessionStorage['key1']['key2'] = 'someString';
,但我得到了一个undefined
错误。
我已经检出了其他几个存储库,但它们只提供那个单一的键值对选项。有什么我失踪?
使用JSON以连载嵌套数据转换成字符串,那么当你需要访问它作为一个对象对其进行解码...
var nested = {some:{nested:'object'}}
var asJson = JSON.stringify(nested)
sessionStorage['data'] = asJson
var asObject = JSON.parse(sessionStorage['data'])
从developer.mozilla.com:
DOM存储机制是一种可以安全地存储并随后检索字符串键/值 对的方式。
因此,我认为你不能直接在会话存储中存储数组/字典。我强烈建议你检查这个链接: https://developer.mozilla.org/en-US/docs/DOM/Storage
你不能做Key = String,但该值可以存储为Object-检查链接:http://www.diveintojavascript.com/tutorials/web-storage-tutorial-creating-an-address-book-application – user1428716 2013-02-21 00:27:17
我有3个对象我想保存每个关键,但我从来没有想过把它们合并成一个,然后序列化。谢谢! – Logan 2013-02-21 00:55:43