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:
Chrome | IE | Firefox | Safari | Opera |
جميع الاصدارات | 8.0 | 3.5 | 4.0 | 10.5 |
Quote This Lesson:-
“Programming isn’t about what you know; it’s about what you can figure out.”
―
لا تنسي متابعتنا على مواقع التواصل الإجتماعى👇🏻👇🏻
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!