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
WBOYoriginal
2016-05-16 16:23:191068parcourir

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.

Déclaration:
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