É fácil preencher pollyfill o objeto localStorage para armazenar e recuperar objetos em vez de apenas strings.
if ( !Storage.prototype.setObject ) {
Storage.prototype.setObject = function(key, value) {
this.setItem(key, JSON.stringify(value));
}
}
if ( !Storage.prototype.getObject ) {
Storage.prototype.getObject = function(key) {
var value = this.getItem(key);
return value && JSON.parse(value);
}
}
Agora podemos simplesmente obter e definir objetos de localStorage.
var apps = {
appName : 'Links app',
settings : {'type' : 'link'}
};
localStorage.setObject('apps', apps );
var ourApps = localStorage.getObject('apps');