我有一本非常簡單的字典。如何在JavaScript localStorage中存儲(字典)對象?
var meta = {'foo':'1','moo':'2'}
我想將其存儲在本地存儲並檢索它。
window.localStorage.setItem("meta", meta);
var meta1 = window.localStorage.getItem("meta");
alert(meta1['foo']);
上述不起作用。我該怎麼做?
我有一本非常簡單的字典。如何在JavaScript localStorage中存儲(字典)對象?
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]"
非常感謝@Cerbrus !!! –
沒問題!請考慮將此答案標記爲正確的答案;-) – Cerbrus
是的,我試着立即做,但你不能標記答案爲正確的,直到8分鐘結束...現在做到了 –
你MIG ht更喜歡它與http://rhaboo.org:
var store = Rhaboo.persistent('Some name');
store.write('count', store.count ? store.count+1 : 1);
store.write('somethingfancy', {
one: ['man', 'went'],
2: 'mow',
went: [ 2, { mow: ['a', 'meadow' ] }, {} ]
});
store.somethingfancy.went[1].mow.write(1, 'lawn');
console.log(store.somethingfancy.went[1].mow[1]); //says lawn
順便說一句,我寫了rhaboo。
[在HTML5 localStorage中存儲對象](http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage) –