21

localStorageからいくつかのアイテムをエクスポートして外部に保存したいのですが、後で再度インポートできる形式で保存します。

私の試みは、後でテキストエリアに貼り付けることができる実行可能コードを書くことでした。次に、そのtextareの値は単純にeval()されます。

問題:localStorageに保存されたデータは次のように保存されました

var data = [];
data.push('sampledata');
data.push({sample: 'object'});
localStorage.setItem('varname',data);

だから、'、"など、私が好きではないさまざまな文字が含まれています

これまでの私の(機能していない)解決策は次のとおりです。

var container = $('#localDataContainer');
container.append('localStorage.setItem("cockpitLastVisited","' + localStorage.getItem("cockpitLastVisited") + '");<br/>');
container.append('localStorage.setItem("cockpit_services","' + localStorage.getItem("cockpit_services") + '");<br/>');
container.append('localStorage.setItem("cockpit_users","' + localStorage.getItem("cockpit_users") + '");');

私の試みが大丈夫だと思われる場合、それをそのまま実行できるコードを作成するための最良の方法は何ですか?

4

5 に答える 5

12

JSON.stringify (オブジェクトから文字列) を使用してオブジェクトを文字列にエンコードし、JSON.parse (文字列からオブジェクト) を使用して文字列をオブジェクトにデコードできます。

localStorage への書き込み

localStorage.setItem("varname",JSON.stringify(originalVarname));

localStorage から読み取る

var originalVarname= JSON.parse(localStorage.getItem("varname"));
于 2012-11-11T22:15:05.233 に答える