2012-12-06 35 views
5

मेरे पास एक बहुत ही सरल शब्दकोश है।जावास्क्रिप्ट स्थानीयस्टॉरेज में एक (शब्दकोश) ऑब्जेक्ट को कैसे स्टोर करें?

var meta = {'foo':'1','moo':'2'} 

मैं इसे स्थानीय संग्रहण में संग्रहीत करना चाहता हूं और इसे पुनर्प्राप्त करना चाहता हूं।

window.localStorage.setItem("meta", meta); 
var meta1 = window.localStorage.getItem("meta"); 
alert(meta1['foo']); 

उपर्युक्त काम नहीं करता है। मैं यह कैसे कर सकता हूं?

+0

[एचटीएमएल 5 स्थानीय स्टोरेज में ऑब्जेक्ट्स संग्रहीत करना] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage) –

उत्तर

18

localStorage धर्मान्तरित यह तार के लिए इनपुट है, ताकि आप JSON तार करने के लिए अपने वस्तुओं कन्वर्ट करने के लिए है, और वापस होगा:

window.localStorage.setItem("meta", JSON.stringify(meta)); 
var meta1 = JSON.parse(window.localStorage.getItem("meta")); 
alert(meta1['foo']); 

कारण अपने कोड काम नहीं किया है, क्योंकि में एक वस्तु की स्थापना

window.localStorage.setItem("objectInput", {some:"object"}); 
var objectOutput = window.localStorage.getItem("objectInput"); 
alert(objectOutput); 
// This returns "[object Object]" 
+0

धन्यवाद बहुत @Cerbrus !!! –

+0

कोई समस्या नहीं! कृपया इस उत्तर को सही उत्तर के रूप में चिह्नित करने पर विचार करें ;-) – Cerbrus

+0

हाँ मैंने इसे तुरंत करने की कोशिश की लेकिन आप 8 मिनट तक सही उत्तर को चिह्नित नहीं कर सकते ... क्या अब यह –

0

आप मिग: localStorage सेट यह "[object Object]" (object.toString() रिटर्न "[object Object]") के लिए मूल्य है BTW

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 लिखा है: हिंदुस्तान टाइम्स http://rhaboo.org के साथ पसंद करते हैं।