私は非常に単純な辞書を持っています。
var meta = {'foo':'1','moo':'2'}
これをローカルストレージに保存して取得したい。
window.localStorage.setItem("meta", meta);
var meta1 = window.localStorage.getItem("meta");
alert(meta1['foo']);
上記は機能しません。どうすればいいですか?
私は非常に単純な辞書を持っています。
var meta = {'foo':'1','moo':'2'}
これをローカルストレージに保存して取得したい。
window.localStorage.setItem("meta", meta);
var meta1 = window.localStorage.getItem("meta");
alert(meta1['foo']);
上記は機能しません。どうすればいいですか?
localStorage
入力を文字列に変換するため、オブジェクトを JSON 文字列に変換して戻す必要があります。
window.localStorage.setItem("meta", JSON.stringify(meta));
var meta1 = JSON.parse(window.localStorage.getItem("meta"));
alert(meta1['foo']);
コードが機能しなかった理由は、オブジェクトを にlocalStorage
設定すると、その値が"[object Object]"
(object.toString()
戻り値"[object Object]"
)に設定されるためです。
window.localStorage.setItem("objectInput", {some:"object"});
var objectOutput = window.localStorage.getItem("objectInput");
alert(objectOutput);
// This returns "[object Object]"