JSON .stringify ()
الاستخدام الشائع لـ JSON هو تبادل البيانات من / إلى خادم الويب.
عند إرسال البيانات إلى خادم ويب ، يجب أن تكون البيانات عبارة عن سلسلة.
تحويل كائن JavaScript إلى سلسلة ذات JSON.stringify()
.
Stringify كائن JavaScript
تخيل أن لدينا هذا الكائن في JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
استخدم وظيفة JavaScript JSON.stringify()
لتحويلها إلى سلسلة.
const myJSON = JSON.stringify(obj);
ستكون النتيجة عبارة عن سلسلة تتبع تدوين JSON.
myJSON
هي الآن سلسلة ، وجاهزة للإرسال إلى الخادم:
مثال
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
سوف تتعلم كيفية إرسال JSON إلى خادم في الفصول التالية.
Stringify a JavaScript Array
من الممكن أيضًا ترميز مصفوفات JavaScript:
تخيل أن لدينا هذه المجموعة في JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
استخدم وظيفة JavaScript JSON.stringify()
لتحويلها إلى سلسلة.
const myJSON = JSON.stringify(arr);
ستكون النتيجة عبارة عن سلسلة تتبع تدوين JSON.
myJSON
هي الآن سلسلة ، وجاهزة للإرسال إلى الخادم:
مثال
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
ستتعلم كيفية إرسال سلسلة JSON إلى خادم في الفصول التالية.
تخزين البيانات
عند تخزين البيانات ، يجب أن تكون البيانات بتنسيق معين ، وبغض النظر عن المكان الذي تختار تخزينه فيه ، يكون النص دائمًا أحد التنسيقات القانونية.
يتيح JSON تخزين كائنات JavaScript كنص.
مثال
تخزين البيانات في التخزين المحلي
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
استثناءات
Stringify التواريخ
في JSON ، لا يُسمح بعناصر التاريخ. ستقوم JSON.stringify()
الوظيفة بتحويل أي تواريخ إلى سلاسل.
مثال
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
يمكنك تحويل السلسلة مرة أخرى إلى كائن تاريخ في جهاز الاستقبال.
Stringify وظائف
في JSON ، لا يُسمح بالوظائف كقيم كائن.
ستزيل الوظيفة JSON.stringify()
أي وظائف من كائن JavaScript ، سواء المفتاح أو القيمة:
مثال
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
يمكن حذف هذا إذا قمت بتحويل وظائفك إلى سلاسل قبل تشغيل JSON.stringify()
الوظيفة.
مثال
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
إذا أرسلت وظائف باستخدام JSON ، فستفقد الوظائف نطاقها ، وسيتعين على المتلقي استخدام EVAL () لتحويلها مرة أخرى إلى وظائف.