Heim > Web-Frontend > js-Tutorial > Einführung in die Objektserialisierung in JavaScript_Javascript-Kenntnisse

Einführung in die Objektserialisierung in JavaScript_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 16:23:19
Original
1073 Leute haben es durchsucht

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:


Code kopieren Der Code 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 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.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage