Création d'un objet appelé voiture: Objet de réglage et stringifiez après la lecture de LocalStorage: P>
Strencez l'objet et le réglage de l'objet à localStorage après:
voiture après stringify ------------------> "{\" marque \ ": \" Skoda \ ", \" Color \ ":" Rouge \ ", \" année \ ": \" 2012 \ "}" au fichier: /// android_asset / www / ... p> Question 1: Pourquoi est-ce que cela fait la différence quelle est la différence quelle est la différence Vous stringifiez l'objet? p> Question 2: Pourquoi ne puis-je pas utiliser objet strielifié comme celui-ci: p> console.log ("car.brand- ----> "+ voiture.brand);
Car.name -----> indéfini p> p>
08-21 11:49:14.860: I/Web Console(9642): car after stringify-----------------> {"brand":"Skoda","color":"Red","year":"2012"}
localstorage.settem ('voiture', json.stringify (voiture));
voiture = localtstorage.getem ("voiture"); code> p> li>
ol>
4 Réponses :
Vous ne pouvez pas stocker l'objet JavaScript est localStorage, Voir cette question . Utilisez donc votre deuxième option. Premier stringifiez l'objet le stocker. Et plus tard, choisissez-le et analysez-le à un objet JavaScript. P>
localStorage.setItem('car',JSON.stringify(car)); carString = localStorage.getItem('car'); car = JSON.parse(carString); console.log(car.brand); // Skoda
De ma compréhension, vous ne pouvez pas utiliser votre objet strictif une fois que cela a été strongifié car ce n'est plus un objet. C'est une chaîne.
Alors, quand vous essayez de faire personnellement, bonne pratique À mon avis, il serait à faire. p> ceci signifie que l'objet de la voiture n'est maintenant pas une chaîne mais un objet. P> Lorsque cela fait aussi Stockage local à l'aide de stringify et de lecture à l'aide d'analyses. p> p> car.brand code> sur la chaîne, il n'y a pas de propriété
marque code>. P>
J'étais confronté à ce même problème récemment. Découvrez ce script que j'ai écrit.
https://github.com/andresgallo/trustorage P>
Il permet de stockage et de récupération d'objets à l'intérieur du stockage local. Il retournera des objets comme des objets automatiquement si besoin d'être. L'autre chose est que vous définissez également et obtenez des articles dans un objet imbriqué. La meilleure partie de tout est que c'est un petit script. P>
Les derniers navigateurs prennent désormais en charge localStorage code> comme objets nativement. J'ai testé cela avec Chrome V44 et Firefox V34:
localStorage
Storage {debug: "undefined", uid: "3", length: 2}
typeof localStorage
"object"
En fait, LocalStorage lui-même est un objet (c'est ce que votre exemple ci-dessus montre), mais il ne stocke toujours que vos données comme chaînes. Vous pensez peut-être à l'API de stockage de Chrome, Chrome.Storage Code>, qui est identique à LocalStorage, mais avec certaines extensions, y compris la possibilité de stocker des objets de manière nativement: développeur.chrome.com/extensions/storage (et probablement Firefox a quelque chose de similaire, bien que je n'ai pas vérifié.)