JSON.stringify()

استخدام JSON هو الغرض العادي للتبادل البياني مع خادم الويب.

عند إرسال بيانات إلى خادم الويب، يجب أن تكون البيانات سلسلة نصية.

من خلال JSON.stringify() تحويل ملفات JavaScript إلى سلاسل نصية

تحويل ملفات JavaScript إلى سلاسل نصية

تخيل أن لدينا هذا الملف في JavaScript:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

استخدم دالة JavaScript JSON.stringify() تحويلها إلى سلسلة.

var myJSON = JSON.stringify(obj);

ستكون النتيجة سلسلة نصية تتبع معايير JSON.

myJSON حاليًا سلسلة نصية جاهزة لإرسالها إلى الخادم:

مثال

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

تجربة شخصية

ستتعلم في الفصل التالي كيفية إرسال JSON إلى الخادم.

تحويل ملفات JavaScript إلى سلاسل نصية

يمكن أيضًا تحويل ملفات JavaScript إلى سلاسل نصية:

تخيل أن لدينا هذا الملف في JavaScript:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

استخدم دالة JavaScript JSON.stringify() تحويلها إلى سلسلة.

var myJSON = JSON.stringify(arr);

ستكون النتيجة سلسلة نصية تتبع معايير JSON.

myJSON حاليًا سلسلة نصية جاهزة لإرسالها إلى الخادم:

مثال

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

تجربة شخصية

ستتعلم في الفصل التالي كيفية إرسال JSON إلى الخادم.

استثناء

تسلسلة التاريخ

في JSON، لا يُسمح بوجود عناصر تاريخية.JSON.stringify() سيقوم الدالة بتحويل أي تاريخ إلى سلسلة.

مثال

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

تجربة شخصية

يمكنك تحويل السلسلة إلى عنصر تاريخي في النهاية.

تحويل الدوال إلى نص

لا يُسمح بالدوال كقيم في JSON.

JSON.stringify() ستزيل الدالة أي دالة من JavaScript对象، بما في ذلك المفاتيح والقيم:

مثال

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

تجربة شخصية

إذا كنت تقوم بتشغيل JSON.stringify() تم تحويل الدالة إلى نص قبل الدالة، يمكن تمرير هذه الخطوة.

مثال

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

تجربة شخصية

يجب أن تجنب استخدام الدوال في JSON، لأن الدوال ستفقد مجالها، وستحتاج أيضًا إلى استخدام eval() تحويلها إلى دالة.

دعم المتصفح

جميع المتصفحات الشائعة وأحدث معايير ECMAScript (JavaScript) تشمل JSON.stringify() الدالة:

الأرقام في الجدول التالي تشير إلى دعم الكامل JSON.stringify() الإصدار الأولي للbrowser من الدالة:

نعم 8.0 3.5 4.0 10.0