JavaScript

JSON Parse

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

التاريخ

20 نوفمبر 2021

الدروس

146

المستوى

العامة

اللغة

انجليزي

المشاهدات

850

المواضيع

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

JSON Parse

</> JSON Parse

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

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

- يمكنك تحويل هذه البيانات الي JavaScript object باستخدام الدالة ( )JSON.parse

</> Example - Parsing JSON

تخيل أننا تلقينا هذا النص من خادم ويب:

'{"name":"Ahmed", "age":30, "city":"New York"}'

فيمكنك تحويل النص السابق الي javaScript object باستخدام الدالة ( )JSON.parse

const obj = JSON.parse('{"name":"ahmed", "age":30, "city":"New York"}');

تأكد من أن النص بتنسيق JSON ، وإلا ستحصل على خطأ في syntax

Example
<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = obj.name;
</script>

</> Array as JSON

عند استخدام JSON.parse () على JSON مشتق من مصفوفة ، ستقوم الالة بأرجاع مصفوفة JavaScript   بدلاً من كائن JavaScript.

Example
const text = '["Ford", "BMW", "Audi", "Fiat"]';
const myArr = JSON.parse(text);

Exceptions

</> Parsing Dates

عنصر التاريخ "Date  object " غير مسموح به في ال JSON ولكن اذا كنت تريد تضمين التاريخ يمكنك كتابته في هيئة نصوص String وبعد ذلك يمكنك تحويله مره اخري الي Date object 

Example

في هذا المثال نقوم بتحويل النص الي تاريخ

const text = '{"name":"Ahmed", "birth":"1986-12-14", "city":"New York"}';
const obj = JSON.parse(text);
obj.birth = new Date(obj.birth);

document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;

أو يمكنك استخدام المعلمة الثانية للدالة JSON.parse () المسماة reviver وهي عبارة عن دالة تتحقق من كل خاصية قبل إرجاع القيمة.

const text = '{"name":"Ahmed", "birth":"1986-12-14", "city":"New York"}';
const obj = JSON.parse(text, function (key, value) {
  if (key == "birth") {
    return new Date(value);
  } else {
    return value;
  }
});

document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;

</> Parsing Functions

غير مسموح بأستخدام الدوال في ال JSON 

- اذا كنت تريد تضمين دالة معينه يمكنك فعل ذلك عن طريق كتابتها كنص ك String وبعد ذلك يمكنك اعادة تحويلها مره اخري الي دالة 

Example
const text = '{"name":"Ahmed", "age":"function () {return 30;}", "city":"New York"}';
const obj = JSON.parse(text);
obj.age = eval("(" + obj.age + ")");

document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات