Comme la langue java, les objets peuvent être sérialisés et désérialisés en javascript, enregistrant ainsi des objets. Dans la norme ECMAScript 5, la sérialisation des objets dans JavaScript est implémentée via JSON.StRingify (), tandis que la désérialisation est implémentée via JSON.Parse ():
La copie de code est la suivante:
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); // objet {x = 1, y = 29, z = 42}
Pour les navigateurs qui ne prennent en charge que la norme Ecmascript 3, vous pouvez utiliser JSON2.js écrits par Douglas Crockford (https://github.com/douglascrockford/json-js).
Pendant le processus de sérialisation de l'objet, Nan, Infinity et -finity 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 (), la chaîne de temps existera comme une chaîne normale et ne sera pas reconstruite dans un objet de date).
Lorsque vous utilisez 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 (propre). Lorsque json.stringify () est exécuté, JavaScript découvrira d'abord s'il existe une méthode TOJSON () dans l'objet qui doit être sérialisé. Si la méthode tojson () existe, la méthode sera appelée et le résultat qu'il renvoie est utilisé comme cible de sérialisation. Si la méthode tojson () n'existe pas, la méthode de sérialisation par défaut est utilisée.