Sie können das JavaScript-Objekt localStorage nicht speichern, sehen Sie diese Frage .
Also benutze deine zweite Option. Zuerst string das Objekt, das es speichert. Und später hebe es auf und parse es zu einem Javascript-Objekt.
%Vor%Erstellen Sie ein Objekt namens Auto:
%Vor%Objekt setzen und nach dem Lesen aus localStorage stringieren:
%Vor%Auto nach dem Streichen ----------------- & gt; [Objekt Objekt] bei Datei: /// android_asset / www / ...
Sortiere Objekt und setze Objekt auf localStorage nach ihm: %code%
Auto nach dem Streichen ----------------- & gt; "{\" Marke \ ": \" Skoda \ ", \" Farbe \ ": \" Rot \ ", \" Jahr \ ": \" 2012 \ "}" bei Datei: /// android_asset / www /. ..
Frage 1: Warum ändert sich die Reihenfolge, in der Sie das Objekt stringieren?
Frage 2: Warum kann ich ein so beschriftetes Objekt nicht verwenden:
%Vor%console.log ("car.brand ----- & gt;" + auto.brand); car.name ----- & gt; undefined
Die neuesten Browser unterstützen jetzt %code% als Objekte nativ. Ich habe das mit Chrome v44 und Firefox v34 getestet:
%Vor%Also ab jetzt. Es wird dir gut gehen.
Ich war in letzter Zeit mit demselben Problem konfrontiert. Schau dir dieses Skript an, das ich geschrieben habe.
Ссылка
Ermöglicht das Speichern und Abrufen von Objekten im lokalen Speicher. Bei Bedarf werden Objekte automatisch als Objekte zurückgegeben. Die andere Sache ist, dass Sie auch Elemente in einem verschachtelten Objekt setzen und abrufen. Der beste Teil von allem ist, dass es ein kleines Skript ist.
Nach meinem Verständnis können Sie das mit einem String versehene Objekt nicht mehr verwenden, nachdem es mit einem String versehen wurde, weil es kein Objekt mehr ist. Es ist ein String.
Wenn Sie also %code% für die Zeichenfolge eingeben, gibt es keine Eigenschaft %code% .
Persönlich wäre gute Praxis meiner Meinung nach zu tun.
%Vor%Dies bedeutet, dass das Auto-Objekt jetzt keine Zeichenfolge, sondern ein Objekt ist.
Wenn Sie dies tun, schreiben Sie auch in den lokalen Speicher mit stringify und lesen Sie mit parse.