Wie die Java -Sprache können Objekte in JavaScript serialisiert und deserialisiert werden, wodurch Objekte gespeichert werden. Im Standard -ECMAScript 5 -Standard wird die Objekt -Serialisierung in JavaScript über JSON.Stringify () implementiert, während die Deserialisierung über JSON.Parse () implementiert wird:
Die Codekopie lautet wie folgt:
var o = {x: 1, y: 29, z: 42};
var s = json.Stringify (o);
console.log (s); // {"x": 1, "y": 29, "z": 42}
var c = json.Parse (s);
console.log (c); // Objekt {x = 1, y = 29, z = 42}
Für Browser, die nur den ECMascript 3-Standard unterstützen, können Sie Json2.js verwenden, das von Douglas Crockford (https://github.com/douglascrockford/json-js) geschrieben wurde.
Während des Serialisierungsprozesses des Objekts werden Nan, Unendlichkeit und -Infinity auf "NULL" serialisiert; Das Datumsobjekt wird in eine Zeichenfolge serialisiert, die die entsprechende Zeit darstellt (aber wenn sie mit JSON.Parse () deserialisiert wird, existiert die Zeitzeichenfolge als normale Zeichenfolge und wird nicht in ein Datum Objekt umgebaut).
Bei Verwendung von JSON.Stringify () zur Serialisierung eines Objekts ist die serialisierte Eigenschaft auf die aufzählbare Eigenschaft des Objekts selbst (eigene) beschränkt. Wenn JSON.Stringify () ausgeführt wird, findet JavaScript zuerst heraus, ob es eine tojson () -Methode in dem Objekt gibt, das serialisiert werden muss. Wenn die Methode tojson () vorhanden ist, wird die Methode aufgerufen und das Ergebnis, das sie zurückgibt, wird als Ziel der Serialisierung verwendet. Wenn die Methode tojson () nicht vorhanden ist, wird die Standard -Serialisierungsmethode verwendet.