مثل لغة Java ، يمكن تسلسل الكائنات وتفضيلها في JavaScript ، وبالتالي حفظ الكائنات. في المعيار eCmascript 5 ، يتم تنفيذ تسلسل الكائن في JavaScript من خلال json.stringify () ، بينما يتم تنفيذ التخلص من خلال json.parse ():
نسخة الكود كما يلي:
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}
بالنسبة للمتصفحات التي تدعم معيار ECMASCRIPT 3 فقط ، يمكنك استخدام JSON2.JS كتبها دوغلاس كروكفورد (https://github.com/douglascrockford/json-js).
أثناء عملية التسلسل للكائن ، سيتم تسلسل NAN ، Infinity ، و -infinity إلى "NULL" ؛ سيتم تسلسل كائن التاريخ إلى سلسلة تمثل الوقت المقابل (ولكن عند إلغاء التخلص منها باستخدام json.parse () ، ستكون سلسلة الوقت موجودة كسلسلة عادية ولن يتم إعادة بنائها في كائن تاريخ).
عند استخدام json.stringify () لتسلسل كائن ما ، تقتصر الخاصية المسلسل على خاصية التعداد للكائن نفسه (own). عند تشغيل json.stringify () ، ستكتشف JavaScript أولاً ما إذا كانت هناك طريقة tojson () في الكائن الذي يحتاج إلى التسلسل. إذا كانت طريقة Tojson () موجودة ، فسيتم استدعاء الطريقة ويتم استخدام النتيجة التي يتم إرجاعها كهدف للتسلسل. إذا لم تكن طريقة Tojson () غير موجودة ، فسيتم استخدام طريقة التسلسل الافتراضي.