في هذا الدرس 5تصفّح المواضيع
JSON Parse
JSON Parse
- الاستخدام الشائع الذي تستخدم خلاله ال JSON هو ارسال واستقبال البيانات من والي الخادم
- عند استقبال البيانات من خادم الويب فأنها تكون دائما في الحالة النصية
- يمكنك تحويل هذه البيانات الي JavaScript object باستخدام الدالة ( )JSON.parse
Example - Parsing JSON
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"}');
Example
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = obj.name;
</script>
Array as JSON
Array as JSON
عند استخدام JSON.parse () على JSON مشتق من مصفوفة ، ستقوم الالة بأرجاع مصفوفة JavaScript بدلاً من كائن JavaScript.
Example
Exceptions
Parsing Dates
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
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();
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.