是否有类似于sessionStorage但具有多维键的东西?

时间:2013-02-21 00:16:14

标签: javascript html5 session-variables session-storage

我想在本地保存树状结构的值,然后根据用户交互检索它们。经过一些研究,我发现sessionStorage(或localStorage)可能是一个很好的方法。但是我在保存嵌套数据方面遇到了麻烦。

通常你有:

sessionStorage['key'] = 'someString';

我试图实现类似的东西:

sessionStorage['key1'] = [];
sessionStorage['key1']['key2'] = 'someString';

但我收到undefined错误。

我已经检查了一些其他存储库,但它们只提供了单个键值对选项。有什么我想念的吗?

2 个答案:

答案 0 :(得分:7)

使用JSON将嵌套数据序列化为字符串,然后在需要将其作为对象访问时对其进行解码...

var nested = {some:{nested:'object'}}
var asJson = JSON.stringify(nested)
sessionStorage['data'] = asJson
var asObject = JSON.parse(sessionStorage['data'])

答案 1 :(得分:2)

来自developer.mozilla.com:

  

DOM存储机制是字符串键/值的一种方式   对可以安全地存储,然后检索使用。

因此我认为你不能直接在会话存储中存储数组/字典。我强烈建议你查看这个链接: https://developer.mozilla.org/en-US/docs/DOM/Storage