The Storage API stores a key, value pairs both of which are strings. So they need to be serialized somehow, and later deserialized when retrieving. In your example, you are using JSON as the (de)serialization mechanism.
getItem
will always return the string you stored. It has to be deserialized before you get an object out of it. You can modify the native getItem
function and do the (de)serialization internally, or write a wrapper for localStorage
that does it for you. Please read the other answers before you re-post the question. That is what the other answers were saying. They did not say that you must use jQuery. Writing a wrapper is fairly simple.
var MyLocalStorage = {};
MyLocalStorage.getItem = function(key) {
return JSON.parse(localStorage.getItem(key));
};
MyLocalStorage.setItem = function(key, object) {
localStorage.setItem(key, JSON.stringify(object));
};