Wie in der Java-Sprache können Objekte in JavaScript serialisiert und deserialisiert werden, um das Objekt zu speichern. Im ECMAScript 5-Standard wird die Objektserialisierung in JavaScript durch JSON.stringify() implementiert, während die Deserialisierung durch JSON.parse() implementiert wird:
Für Browser, die nur den ECMAScript 3-Standard unterstützen, können Sie json2.js verwenden, das von Douglas Crockford geschrieben wurde (https://github.com/douglascrockford/JSON-js).
Während des Serialisierungsprozesses des Objekts werden NaN, Infinity und -Infinity in „null“ serialisiert; das Date-Objekt wird in eine Zeichenfolge serialisiert, die die entsprechende Zeit darstellt (aber bei der Deserialisierung mit JSON.parse() ). Die Zeitzeichenfolge existiert als gewöhnliche Zeichenfolge und wird nicht als Datumsobjekt rekonstruiert.
Wenn Sie JSON.stringify() zum Serialisieren eines Objekts verwenden, ist die serialisierte Eigenschaft auf die aufzählbare Eigenschaft des Objekts selbst (Own) beschränkt. Wenn JSON.stringify() ausgeführt wird, prüft JavaScript zunächst, ob in dem zu serialisierenden Objekt eine toJSON()-Methode vorhanden ist. Wenn die toJSON()-Methode vorhanden ist, wird die Methode aufgerufen und das zurückgegebene Ergebnis als verwendet Ziel der Serialisierung. Wenn die toJSON()-Methode nicht vorhanden ist, wird die Standard-Serialisierungsmethode verwendet.