I have a very simple dictionary .
var meta = {'foo':'1','moo':'2'}
I want to store this in the local storage and retrieve it.
window.localStorage.setItem("meta", meta);
var meta1 = window.localStorage.getItem("meta");
alert(meta1['foo']);
The above does not work. How can I do it?
localStorage. setItem("meta", meta); var meta1 = window. localStorage. getItem("meta"); alert(meta1['foo']);
In summary, we can store JavaScript objects in localStorage by first converting them to strings with the JSON. stringify method, then back to objects with the JSON. parse method.
localStorage is a read-only property that returns a reference to the local storage object used to store data that is only accessible to the origin that created it.
localStorage
converts it's input to strings, so you will have to convert your objects to JSON strings, and back:
window.localStorage.setItem("meta", JSON.stringify(meta));
var meta1 = JSON.parse(window.localStorage.getItem("meta"));
alert(meta1['foo']);
The reason your code didn't work is because setting a object in localStorage
sets it's value to "[object Object]"
(object.toString()
returns "[object Object]"
):
window.localStorage.setItem("objectInput", {some:"object"});
var objectOutput = window.localStorage.getItem("objectInput");
alert(objectOutput);
// This returns "[object Object]"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With