Maison > interface Web > js tutoriel > Introduction à la sérialisation d'objets dans les compétences JavaScript_javascript

Introduction à la sérialisation d'objets dans les compétences JavaScript_javascript

WBOY
Libérer: 2016-05-16 16:23:19
original
1074 Les gens l'ont consulté

Comme le langage Java, les objets peuvent être sérialisés et désérialisés en JavaScript pour enregistrer l'objet. Dans le standard ECMAScript 5, la sérialisation des objets en JavaScript est implémentée via JSON.stringify(), tandis que la désérialisation est implémentée via JSON.parse() :


Copier le code Le code est le suivant :

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);//Object {x=1, y=29, z=42}


Pour les navigateurs qui ne prennent en charge que le standard ECMAScript 3, vous pouvez utiliser json2.js écrit par Douglas Crockford (https://github.com/douglascrockford/JSON-js).

Pendant le processus de sérialisation de l'objet, NaN, Infinity et -Infinity seront sérialisés en "null" ; l'objet Date sera sérialisé en une chaîne représentant l'heure correspondante (mais lorsqu'il est désérialisé à l'aide de JSON.parse() , le la chaîne d'heure existera comme une chaîne ordinaire et ne sera pas reconstruite en tant qu'objet Date).

Lors de l'utilisation de JSON.stringify() pour sérialiser un objet, la propriété sérialisée est limitée à la propriété énumérable de l'objet lui-même (Own). Lorsque JSON.stringify() est en cours d'exécution, JavaScript vérifiera d'abord s'il existe une méthode toJSON() dans l'objet qui doit être sérialisée. Si la méthode toJSON() existe, la méthode est appelée et le résultat renvoyé est utilisé comme. cible de la sérialisation. Si la méthode toJSON() n'existe pas, la méthode de sérialisation par défaut est utilisée.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal