JavaScript

JSON Stringify

في هذا الدرس سوف نتعرف علي طريقة تحويل البيانات في ملفات ال JSON وتحويلها من صيغة الي أخري باتسخدام دالة ( )stringfiy

التاريخ

20 نوفمبر 2021

الدروس

146

المستوى

العامة

اللغة

انجليزي

المشاهدات

897

المواضيع

24
الشروحات chevron_left JSON Stringify chevron_left JavaScript

JSON Stringify

</> JSON Stringify

a- الاستخدام الشائع الذي تستخدم خلاله ال JSON هو ارسال واستقبال البيانات من والي الخادم 

- عند استقبال البيانات من خادم الويب فأنها تكون دائما في الحالة النصية 

- يمكنك تحويل object في لغة java Script الي نص string باستخدام الدالة ( )JSON.stringify

</> Stringify a JavaScript Object

ولنفترض اننا لدينا ال object التالي والذي نريد تحويله الي نص string

const obj = {name: "Ahmed", age: 30, city: "New York"};

فيمكننا تحويله بكل سهولة عن طريق استخدام الدالة ( )JSON.stringify بالطريقة التالية

const myJSON = JSON.stringify(obj);

وبعد ان قمنا بالخطوة السابقة فقد اصبح العنصر "myJSON" هو عبارة عن عنصر من النوع string وليس object كما في المثال التالي

const obj = {name: "Ahmed", age: 30, city: "Cairo"};
const myJSON = JSON.stringify(obj);

</> Stringify a JavaScript Array

يمكننا أيضا تحويل المصفوفات arrays الي نصوص string 

- ولنفترض اننا لدينا المصفوفة التالية التي تحتوي علي أربعة أسماء ونريد تحويلها من array الي string 

const arr = ["Ahmed", "Mohamed", "Noha", "Norhan"];

فيمكننا تحويلها بكل سهولة عن طريق استخدام الدالة ( )JSON.stringify بهذه الطريقة

const myJSON = JSON.stringify(arr);

وبعد ان قمنا بالخطوة السابقة فقد اصبح العنصر "myJSON" هو عبارة عن عنصر من النوع string وليس array كما في المثال التالي

const arr = ["Ahmed", "Mohamed", "Noha", "Norhan"];
const myJSON = JSON.stringify(arr);

</> Storing Data

عند تخزين البيانات ، يجب أن تكون البيانات بتنسيق معين

وبغض النظر عن المكان الذي تختار تخزينه فيه يجب ان يكون النص دائمًا أحد التنسيقات المعروفة 

- في المثال التالي قمنا بتخزين البيانات بداخل ال Local Storage 

/* Storing data: */
const myObj = {name: "Ahmed", age: 31, city: "Cairo"};
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;

Exceptions

</> Stringify Dates

- في ال java Script غير مسموح باستخدام ال object التالي "Date"

- ولكننا نستطيع استخدامه عن طريق تحويل قيمته الي نصوص بأستخدام دالة ( )JSON.stringify  

Example
const obj = {name: "Ahmed", today: new Date(), city : "Cairo"};
const myJSON = JSON.stringify(obj);

</> Stringify Functions

في ال JSON غير مسموح بأستخدام الدوال Functions كقيم values بداخل ال objects

- ستقوم الدالة ( )JSON.stringify بأزالة أي عنصر من عناصر ال object اذا كانت قيمته value عبارة عن دالة function 

Example
const obj = {name: "Ahmed", age: function () {return 30;}, city: "Cairo"};
const myJSON = JSON.stringify(obj);

ولكن يمكنك تخطي المشكلة السابقة عن طريق تحويل الدوال الخاصة بك الي string باستخدام الدالة ( )JSON.stringify

const obj = {name: "Ahmed", age: function () {return 30;}, city: "Cairo"};
obj.age = obj.age.toString();

اذا قمت بتمرير دوال كقيم بداخل object باستخدام JSON ، فستفقد الدوال scope نطاقها ، وسيتعين على المتلقي استخدام الدالة  EVAL () لتحويلها مرة أخرى إلى دوال .

معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات

لديك استفسار ؟

يسعدنا كثيرا مساعدتك في استيعاب افضل للأمور, فلا تترد مطلقا في الاتصال بنا في حال كانت لديك اية اسئله او استفسارات.