4

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

通常你有:

sessionStorage['key'] = 'someString';

我试图实现类似的东西:

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

但我有一个undefined错误。

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

4

2 回答 2

7

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

var nested = {some:{nested:'object'}}
var asJson = JSON.stringify(nested)
sessionStorage['data'] = asJson
var asObject = JSON.parse(sessionStorage['data'])
于 2013-02-21T00:19:29.417 回答
2

来自 developer.mozilla.com:

DOM 存储机制是一种方法,通过它可以安全地存储字符串键/值对并在以后检索以供使用。

Hence I think you cannot store array/dictionary directly in session storage. I highly suggest you that check this link out: https://developer.mozilla.org/en-US/docs/DOM/Storage

于 2013-02-21T00:21:31.917 回答