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ストレージメカニズムは、文字列のキーと値のペアを安全に保存し、後で使用するために取得できる手段です。

したがって、配列/辞書をセッションストレージに直接保存することはできないと思います。次のリンクを確認することを強くお勧めします: https ://developer.mozilla.org/en-US/docs/DOM/Storage

于 2013-02-21T00:21:31.917 に答える