الكورس

Advertisements

JSON | Parse


 

يحتوي كائن JSON المتوفر في جميع المتصفحات الحديثة على طريقتين مفيدتين للغاية للتعامل مع المحتوى المنسق :-

 

1- () JSON.parse: تأخذ سلسة JSON وتحولها إلى كائن JavaScript ، وهذا موضوع هذا الفصل.

2- () JSON.stringify: تأخذ كائن JavaScript وتحوله إلى سلسة JSON، وهذا موضوع الفصل القادم.

 

 

JSON Parse

 

عندما نستلم البيانات النصية من الخادم Web server تكون كالتالى:

var yourJson = '{ "name": "Hamed", "age": 20, "location": "Egypt" }';

 

لكى نحول البيانات النصية الى كائن Javascript نستخدم دالة () JSON.parse ، كالتالى: 

var jsObject = JSON.parse(yourJson);

 

لاستخدام كائن Javascript فى صفحتك، كالتالى:

<div id="example"></div>

<script>
  document.getElementById("example").innerHTML = "My Name is " + jsObject.name + " & My age is " + jsObject.age;
</script>

 

JSON Server

 

يمكنك طلب JSON من الخادم باستخدام طلب AJAX :

      var myXmlHttp = new XMLHttpRequest ();
      myXmlHttp.onreadystatechange = function () {
        if (this.readyState = 4 && this.status == 200) {
          var arr = JSON.parse(this.responseText);
          document.getElementById("test").innerHTML = arr[2];
        }
      };

      myXmlHttp.open("GET", "demo.txt");
      myXmlHttp.send();

 

file: demo.txt

["Hamed", "Adham", "Osama", "Mohamed"]

 

تحليل الدوال Parsing Functions

 

لا يسمح بالدوال فى JSON، اذا تريد تضمين دالة ، يمكنك كتابتها على هيئة سلسة String.

 

مثال للتوضيح:
var myJson = '{ "username": "Hamed", "userStatus": "Offline" }';

var myObj = JSON.parse(myJson, function (key, value) {
  if (value == "Offline") {
    return ("Online");
  } else {
    return value;
  }
});

document.getElementById("demo").innerHTML = myObj.username + ' & ' + myObj.userStatus;

 

دعم المتصفحات 

 

تدعم جميع المتصفحات الحديثة دالة () JSON.parse ، تحدد هذه الأرقام فى الجدول التالى اصدار المتصفح الأول الذى يدعم دالة () JSON.parse:

ChromeIEFirefoxSafariOpera
جميع الاصدارات 8.03.54.010.5

 

 

Quote This Lesson:-

“Programming isn’t about what you know; it’s about what you can figure out.”


― Chris Pine

 

لا تنسي متابعتنا على مواقع التواصل الإجتماعى👇🏻👇🏻



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements