SlideShare a Scribd company logo
1 of 16
Download to read offline
‫صيغة‬JSON‫ادلعطيات‬ ‫لتبادل‬
JavaScript Object Notation
‫إعداد‬
‫اىيم‬‫ر‬‫االب‬ ‫اىيم‬‫ر‬‫اب‬
(ibrah.ibra@gmail.com)
02/5/0205
JSON
I.Ibrahimi
‫المحتويات‬ ‫جدول‬
0-‫مقدمة‬.........................................................................................................................0
0-‫حملة‬‫تارخيية‬.....................................................................................................................0
3-‫توصيف‬‫صيغة‬JSON.......................................................................................................3
4-‫أمثلة‬‫عملية‬...................................................................................................................6
4-0‫مثال‬‫سبهيدي‬..........................................................................................................6
4-0‫منصة‬Twitter.....................................................................................................7
4-3‫أمثلة‬‫أخرى‬...........................................................................................................8
5-JSON‫مقابل‬XML.......................................................................................................9
5-0‫مقدمة‬........................................................................................................................9
5-0‫اسة‬‫ر‬‫د‬‫حالة‬..................................................................................................................9
5-3‫خدمات‬‫الوب‬SOAP, REST.......................................................................................00
5-3-0‫يف‬‫ر‬‫تع‬‫خبدمات‬REST..................................................................................00
5-3-0‫يف‬‫ر‬‫تع‬‫خبدمات‬SOAP..................................................................................00
5-3-3‫حاالت‬‫استخدام‬‫النوعني‬..................................................................................00
6-‫خالصة‬....................................................................................................................00
JSON
I.Ibrahimii
‫األشكال‬ ‫قائمة‬
‫الشكل‬0‫سبثيل‬‫الغرض‬‫يف‬JSON......................................................................................3
‫الشكل‬0‫سبثيل‬‫ادلصفوفة‬‫يف‬JSON....................................................................................4
‫الشكل‬3‫سبثيل‬‫القيمة‬‫يف‬JSON.......................................................................................4
‫الشكل‬4‫السلسلة‬‫النصية‬string‫يف‬JSON..........................................................................5
‫الشكل‬5‫سبثيل‬‫قم‬‫ر‬‫ال‬‫يف‬JSON........................................................................................5
JSONADE Seminar
I.Ibrahim1
1-‫مقدمة‬
‫صيغة‬ ‫حظيت‬ ‫لقد‬JSON‫بساطتها‬ ‫سامهت‬ ‫وقد‬ ،‫األخرية‬ ‫الفًتة‬ ‫خالل‬ ‫الويب‬ ‫عامل‬ ‫يف‬ ‫االىتمام‬ ‫من‬ ‫بالكثري‬ ‫البيانات‬ ‫لتمثيل‬
‫يز‬‫ز‬‫تع‬ ‫يف‬ ‫تطبيقها‬ ‫لة‬‫و‬‫وسه‬‫ىذا‬‫ال‬‫استخدامها‬ ‫شيوع‬ ‫إىل‬ ‫إضافة‬ ،‫توجو‬‫يف‬‫البيانات‬ ‫ونقل‬ ‫تبادل‬‫ك‬‫من‬ ‫العديد‬ ‫زباطب‬ ‫اجهات‬‫و‬
‫لغة‬ ‫من‬ ‫أصيل‬ ‫بدعم‬ ‫تتمتع‬ ‫كوهنا‬ ‫عن‬ ‫عدى‬ ‫ىذا‬ .‫الويب‬ ‫تطبيقات‬JavaScript‫اع‬‫و‬‫أن‬ ‫سلتلف‬ ‫على‬ ‫االنتشار‬ ‫اسعة‬‫و‬‫ال‬
.‫الشائعة‬ ‫ادلتصفحات‬
‫تنسيق‬ ‫يعد‬ ‫ال‬JSON‫ضمن‬ ‫الكائنات‬ ‫لربرلة‬ ‫يقة‬‫ر‬‫ط‬ ‫ال‬‫و‬‫األح‬ ‫من‬ ‫حال‬ ‫بأي‬JavaScript‫أخرى‬ ‫جهة‬ ‫من‬ ‫يعد‬ ‫لكنو‬ ،
‫لغة‬ ‫زلرك‬ ‫هبا‬ ‫يقوم‬ ‫اليت‬ ‫يقة‬‫ر‬‫للط‬ ‫الفعلي‬ ‫الشكل‬JavaScript‫الكائنات‬ ‫تلك‬ ‫وتوصيف‬ ‫بط‬‫ر‬‫ب‬Objects.‫الذاكرة‬ ‫ضمن‬
ً‫ا‬‫أسلوب‬ ‫التنسيق‬ ‫ىذا‬ ‫يعترب‬ ،‫باختصار‬ً‫ا‬‫يع‬‫ر‬‫س‬‫اجهات‬‫و‬‫و‬ ‫جهة‬ ‫من‬ ‫الويب‬ ‫تطبيقات‬ ‫بني‬ ‫فيما‬ ‫البيانات‬ ‫لتبادل‬ ‫قوية‬ ‫يقة‬‫ر‬‫وط‬
‫تنسيق‬ ‫كون‬‫عن‬ ‫فعدى‬ ،‫أخرى‬ ‫جهة‬ ‫من‬ ‫ادلتصفح‬ ‫طرف‬ ‫على‬ ‫ادلستخدم‬JSON‫اسيب‬‫و‬‫للح‬ ‫بالنسبة‬ ‫التحليل‬‫و‬ ‫التوليد‬ ‫سهل‬
‫ببس‬ ‫وفهمو‬ ‫اءتو‬‫ر‬‫ق‬ ‫بإمكانية‬ ‫الوقت‬ ‫ذات‬ ‫يف‬ ‫يتميز‬ ‫فهو‬.‫البشر‬ ‫قبل‬ ‫من‬ ‫اطة‬‫الصيغة‬ ‫استقاء‬ ‫من‬ ‫الرغم‬ ‫على‬JSON‫لغة‬ ‫من‬
JavaScript‫التنسيق‬ ‫ىذا‬ ‫فإن‬ ،‫األصل‬ ‫يف‬ً‫ا‬‫سبام‬ ‫مستقلة‬ ‫نصية‬ ‫صيغة‬ ‫يعد‬.‫الربرلة‬ ‫لغة‬ ‫عن‬
‫تنسيق‬ ‫إن‬JSON‫لغة‬ ‫ضمن‬ ‫سلتلفة‬ ‫معطيات‬ ‫بٌت‬ ‫توصيف‬ ‫على‬ ‫قادر‬JavaScript‫القيم‬ ‫من‬ ‫ج‬‫تتدر‬ ‫ادلتصفح‬ ‫طرف‬ ‫على‬
ً‫ا‬‫شيوع‬ ‫األكثر‬ ‫األساسية‬ ‫ادلعطيات‬ ‫بٌت‬ ‫تعد‬ ‫اليت‬‫و‬( ‫النصية‬ ‫السالسل‬ ‫إىل‬ ‫األرقام‬ ‫إىل‬ ‫ادلنطقية‬‫كما‬ ،‫ادلصفوفات‬ ‫إىل‬ ‫وصوال‬ )
‫تنسيق‬ ‫يستطيع‬JSONً‫ا‬‫أيض‬ ‫يقوم‬ ‫أن‬ ‫وإتقان‬ ‫حبرص‬ ‫فة‬ّ‫معر‬ ‫اعدية‬‫و‬‫ق‬ ‫بٌت‬ ‫باستخدام‬‫بعد‬ ‫نستطيع‬ ‫حيث‬ ،‫الكائنات‬ ‫بتوصيف‬
‫أن‬ ‫ذلك‬‫ا‬ ‫بذلك‬ ‫ادلصاغة‬ ‫البيانات‬ ‫بتحويل‬ ‫نقوم‬‫األصلي‬ ‫وضعها‬ ‫إىل‬ ‫لنعيدىا‬ ‫لتنسيق‬‫وذلك‬ ‫جديد‬ ‫من‬ ‫فعلية‬ ‫ككائنات‬
‫تعليمة‬ ‫باستخدام‬eval()‫بلغة‬JavaScript.
‫تنسيق‬ ‫قوة‬ ‫إن‬JSON‫لصيغة‬ ‫أصيل‬ ‫دعم‬ ‫بتوفري‬ ‫تقوم‬ ‫أخرى‬ ‫شائعة‬ ‫بررلية‬ ‫لغات‬ ‫أخذت‬ ‫بل‬ ،‫فقط‬ ‫احلد‬ ‫ىذا‬ ‫عند‬ ‫تتوقف‬ ‫ال‬
‫لغيت‬ ‫مثل‬ ‫التنسيق‬ ‫ىذا‬PHP‫و‬ActionScript‫لغة‬ ‫باستطاعة‬ ،‫ادلثال‬ ‫سبيل‬ ‫فعلى‬ .PHP‫اإلصدار‬ ‫من‬ ‫(بدءا‬5.0‫أن‬ )
‫بتنسيق‬ ‫نصية‬ ‫سلسلة‬ ‫إىل‬ ‫مصفوفة‬ ‫أي‬ ‫بيانات‬ ‫بتحويل‬ ‫تقوم‬JSON‫وخبطوة‬ ‫مباشرة‬‫تعليمة‬ ‫باستخدام‬ ‫وذلك‬ ‫احدة‬‫و‬
)(json_encode‫بتنسيق‬ ‫مصاغة‬ ‫نصية‬ ‫سلسلة‬ ‫بيانات‬ ‫تعيد‬ ‫حبيث‬ ‫ادلعاكسة‬ ‫بالوظيفة‬ ‫القيام‬ ‫أيضا‬ ‫بإمكاهنا‬ ‫أصبح‬ ‫كما‬ ،
JSON)( ‫تعليمة‬ ‫باستخدام‬ ‫وذلك‬ ‫جديد‬ ‫من‬ ‫مصفوفة‬ ‫إىل‬json_decode.
‫التنس‬ ‫ىذا‬ ‫الشائعة‬‫و‬ ‫احلديثة‬ ‫الربرلة‬ ‫لغات‬ ‫كافة‬ ‫تدعم‬ ،‫ادلبدأ‬ ‫حيث‬ ‫من‬‫خالل‬ ‫من‬ ‫أو‬ ‫أصيل‬ ‫بشكل‬ ‫إما‬ ‫بآخر‬ ‫أو‬ ‫بشكل‬ ‫يق‬
‫الربرلة‬ ‫لغات‬ ‫من‬ ‫للعديد‬ ‫ادلكتبات‬ ‫ىذه‬ ‫مثل‬ ‫تتوفر‬ ‫حيث‬ ،‫إليو‬ ‫البيانات‬ ‫وتصدير‬ ‫التنسيق‬ ‫ىذا‬ ‫اءة‬‫ر‬‫بق‬ ‫تسمح‬ ‫اليت‬ ‫ادلكتبات‬
‫احلصر‬ ‫ال‬ ‫ادلثال‬ ‫سبيل‬ ‫على‬ ‫منها‬C‫و‬C++‫و‬C#‫و‬Java‫و‬Perl‫و‬Python‫و‬PHP‫جيعل‬ ‫ما‬ ‫وىو‬ ،‫الكثري‬ ‫وغريىا‬
‫تنس‬ ‫من‬‫يق‬JSONً‫ا‬‫مثالي‬‫الشبكة‬ ‫فضاء‬ ‫على‬ ‫خصوصا‬ ‫التطبيقات‬ ‫بني‬ ‫فيما‬ ‫البيانات‬ ‫لتبادل‬‫العادلية‬(Internet.)
JSONADE Seminar
I.Ibrahim2
‫عن‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫نتحدث‬‫صيغة‬JSON.‫تنسيقها‬ ‫اعد‬‫و‬‫وق‬ ‫وتوصيفها‬‫الفقرة‬ ‫يف‬ ‫تارخيية‬ ‫بلمحة‬ ‫نبدأ‬0‫مث‬ ،‫الصيغة‬ ‫نشوء‬ ‫عن‬
‫صيغة‬ ‫توصيف‬ ‫نبني‬json‫الفقرة‬ ‫يف‬ ‫لننتقل‬ ،‫الرمسي‬4‫إع‬ ‫إىل‬‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫من‬ ‫الثاين‬ ‫اجلزء‬ ‫يف‬ ‫ننتقل‬ .‫عنها‬ ‫عملية‬ ‫أمثلة‬ ‫طاء‬
‫أفضلية‬ ‫حول‬ ‫للنقاش‬JSON‫على‬XML.‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫إليو‬ ‫توصلنا‬ ‫ما‬ ‫خالصة‬ ‫نقدم‬ ‫النهاية‬ ‫ويف‬ .‫البيانات‬ ‫نقل‬ ‫رلال‬ ‫يف‬
2-‫يخية‬‫ر‬‫تا‬ ‫لمحة‬
‫تنسيق‬ ‫يعود‬JSON‫معيار‬ ‫من‬ ‫الثالث‬ ‫اإلصدار‬ ‫من‬ ‫جزء‬ ‫إىل‬ ‫لو‬‫و‬‫أص‬ ‫يف‬ECMA-262‫بلغة‬ ‫اخلاص‬JavaScript‫للربرلة‬
‫ديسمرب‬ / ‫أول‬ ‫كانون‬‫شهر‬ ‫يف‬ ‫مرة‬ ‫أول‬ ‫أطلق‬ ‫الذي‬‫و‬0999[1].
‫صيغة‬ ‫نشأت‬JSON‫باحلالة‬ ‫ربتفظ‬ ‫اتصال‬ ‫لوسيلة‬ ‫أساسية‬ ‫كحاجة‬stateful‫دلكونات‬ ‫احلاجة‬ ‫دون‬ ‫بون‬‫ز‬‫ال‬‫و‬ ‫ادلخدم‬ ‫بني‬
‫امج‬‫ر‬‫ب‬ ‫مثل‬ ‫للمتصفحات‬ ‫إضافية‬Flash‫أو‬Java applets.‫اجلديدة‬ ‫األلفية‬ ‫بداية‬ ‫حقبة‬ ‫يف‬ ‫ين‬‫ر‬‫مسيط‬ ‫ا‬‫و‬‫كان‬‫الذين‬
‫كفورد‬‫كرو‬ ‫دوغالس‬ ‫بدأ‬Douglas Crockrord‫الصيغة‬ ‫ونشر‬ ‫توصيف‬ ‫على‬ ‫بالعمل‬[2]‫يف‬ ‫الصيغة‬ ‫بتطوير‬ ‫قام‬ ‫حيث‬ ،
‫كتو‬‫شر‬State Software‫نيسان‬ ‫يف‬ ‫انطلقت‬ ‫اليت‬0220.‫ادلوقع‬ ‫كفورد‬‫كرو‬ ‫أطلق‬‫الرمسي‬json.org‫عام‬ ‫يف‬0220
‫تقف‬ ‫مل‬ .‫الصيغة‬ ‫ىذه‬ ‫على‬ ‫العمل‬ ‫عن‬ ‫بعدىا‬ ‫ليتقاعد‬JSON‫وبناء‬ ‫باستعماذلا‬ ‫ادلطورون‬ ‫بدأ‬ ‫وإمنا‬ ‫فقط‬ ‫كفورد‬‫كرو‬ ‫عند‬
‫لغوية‬ ‫زللالت‬Parsers‫لكي‬ ‫الرمسي‬ ‫ادلوقع‬ ‫عرب‬ ‫كفورد‬‫كرو‬‫مع‬ ‫اصل‬‫و‬‫بالت‬ ‫ا‬‫و‬‫وقام‬ ‫الربرلة‬ ‫لغات‬ ‫من‬ ‫للعديد‬ ‫الصيغة‬ ‫هبذه‬ ‫خاصة‬
‫احمل‬ ‫ىذه‬ ‫يضيف‬‫موقعو‬ ‫إىل‬ ‫لالت‬.
‫عام‬ ‫يف‬0225‫لتقنية‬ ‫الكربى‬ ‫االنطالقة‬ ‫كانت‬AJAX‫معها‬ ‫سحبت‬ ‫اليت‬JSON‫ىذه‬ ‫شهرة‬ ‫يف‬ ‫وساعدت‬ ‫األعلى‬ ‫إىل‬
‫الصيغة‬‫أن‬ ‫باعتبار‬ ‫البعض‬ ‫قبل‬ ‫من‬ ‫بتها‬‫ر‬‫زلا‬ ‫مع‬ ‫انتشارىا‬‫و‬AJAX‫مع‬ ‫افق‬‫و‬‫تت‬ ‫كانت‬ ‫البداية‬ ‫يف‬XML(X is XML)
‫تقدم‬ ‫ق‬ِ‫ع‬ُ‫ي‬ ‫مل‬ ‫ىذا‬ ‫ولكن‬JSON‫تطبيقات‬ ‫"تطوير‬ ‫حينها‬ ‫العصر‬ ‫ظاىرة‬ ‫مع‬ ‫تباطها‬‫ر‬‫ا‬‫و‬ ‫اجهة‬‫و‬‫ال‬ ‫إىل‬AJAX."
‫عام‬ ‫يف‬0226‫معرية‬ ‫سبت‬Standardization‫صيغة‬JSON‫مسودة‬ ‫ح‬‫طر‬ ‫خالل‬ ‫من‬RFC‫الرقم‬ ‫ذات‬4627[3]،
‫تطور‬ ‫يتوقف‬ ‫مل‬ ‫ولكن‬JSON‫ت‬ ‫خالل‬ ‫من‬ ً‫ا‬‫أيض‬ ‫معريهتا‬ ‫سبت‬ ‫وإمنا‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫على‬‫وصيف‬JavaScript‫من‬ ‫الصادر‬
‫منظمة‬Ecma International‫قة‬‫ر‬‫الو‬ ‫يف‬ECMA-404[4]‫عام‬ ‫يف‬ ‫صدرت‬ ‫اليت‬0203‫دوغالس‬ ‫حينها‬ ‫ليعلن‬
‫أن‬ ً‫ا‬‫رمسي‬ ‫كفورد‬‫كرو‬JSONً‫ا‬‫عادلي‬ ‫البيانات‬ ‫دلعاجلة‬ ً‫ا‬‫ر‬‫معيا‬ ‫أصبحت‬[5].‫عام‬ ‫ويف‬0204‫مت‬‫الورقة‬ ‫ربديث‬RFC 4627
‫الورقة‬ ‫إىل‬RFC 7159[6].
‫توصف‬ ‫اليت‬ ‫ادلعايري‬ ‫باختالف‬JSON‫قيمها‬‫ر‬‫وت‬ ‫النسخ‬ ‫يف‬ ‫تغيري‬ ‫بدون‬ ‫الصيغة‬ ‫ىذه‬ ‫تبقى‬ ،versioning‫نظرة‬ ‫ألن‬ ‫وذلك‬ ،
‫يطلق‬ ‫بأن‬ ‫كانت‬ ‫كفورد‬‫كرو‬JSON‫ليس‬‫و‬JSON 1.0‫لصيغتو‬ ‫ار‬‫ر‬‫االستق‬ ‫يد‬‫ر‬‫ي‬ ‫ألنو‬Stability.‫ادلعايري‬ ‫زبتلف‬ ‫ال‬
‫الصيغة‬ ‫روح‬ ‫على‬ ‫تؤثر‬ ‫ال‬ ‫اليت‬ ،ً‫ا‬‫جد‬ ‫الصغرية‬ ‫التفاصيل‬ ‫ببعض‬ ‫إال‬ ‫بعضها‬ ‫بني‬ ‫ادلختلفة‬JSON‫ذلا‬ ‫كفورد‬‫كرو‬‫وصف‬ ‫يف‬[2].
JSONADE Seminar
I.Ibrahim3
3-‫صيغة‬ ‫توصيف‬JSON1
‫بنيت‬JSON:‫تكون‬ ‫أن‬ ‫على‬ ‫يتني‬‫ر‬‫نظ‬ ‫باستخدام‬
‫اج‬‫و‬‫األز‬ ‫من‬ ‫رلموعة‬‫اسم/قيمة‬name/value pairs،‫يف‬ ‫ادلعروفة‬ ‫البٌت‬ ‫سبثل‬‫الربرلة‬ ‫لغات‬ ‫سلتلف‬‫كالغرض‬
object‫القاموس‬ ،dictionary،‫اجلداول‬hash table،‫ادلفاتيح‬ ‫ذات‬ ‫السالسل‬keyed list‫أو‬‫ادلصفوفات‬
‫ابطة‬‫ًت‬‫ادل‬associative array.
‫القيم‬ ‫من‬ ‫تبة‬‫ر‬‫م‬ ‫سلسلة‬values‫الربرلة‬ ‫لغات‬ ‫من‬ ‫كثري‬‫يف‬ ‫ادلتسخدم‬‫و‬ ‫ادلعروف‬ ‫ىو‬ ‫كما‬،‫كادلصفوفات‬arrays،
‫األشعة‬vector‫و‬ ،‫ائم‬‫و‬‫الق‬list.
‫إن‬‫الًت‬ ‫ذبعل‬ ‫اصفات‬‫و‬‫ادل‬ ‫تلك‬‫ا‬‫كيب‬‫باستخدام‬ ‫ادلوصفة‬JSON‫اليت‬ ‫الربرلة‬ ‫لغات‬ ‫معظم‬ ‫قبل‬ ‫من‬ ‫التحليل‬‫و‬ ‫كيب‬‫الًت‬ ‫سهلة‬
‫اعتبار‬ ‫ديكن‬ ‫ولذلك‬ ،‫األشكال‬ ‫من‬ ‫بشكل‬ ‫اكيب‬‫ًت‬‫ال‬ ‫ىذه‬ ‫تدعم‬JSON.‫أخرى‬ ‫لغة‬ ‫أي‬ ‫من‬ ‫البيانات‬ ‫نقل‬ ‫يف‬ ‫األفضل‬
‫يف‬ ‫ثل‬ُ‫سب‬ ‫أن‬ ‫السابقة‬ ‫اكيب‬‫ًت‬‫لل‬ ‫ديكن‬JSON:‫كالتايل‬
‫الغرض‬object:
‫اسم/قيمة‬ ‫اكيب‬‫ًت‬‫ال‬ ‫من‬ ‫رلموعة‬ ‫الغرض‬ ‫يعترب‬name/value‫مفتوح‬ ‫بقوس‬ ‫يبدأ‬ .}‫مغلق‬ ‫بقوس‬ ‫وينتهي‬{‫يتبعو‬ ‫اسم‬ ‫كل‬.
( ‫عادية‬ ‫فاصلة‬ ‫آخر‬ ‫كيب‬‫تر‬ ‫أي‬ ‫عن‬ ‫يفصلو‬ ‫اسم/قيمة‬ ‫كيب‬‫تر‬ ‫كل‬‫و‬ : ‫نقطتني‬,.)
‫الشكل‬1‫في‬ ‫الغرض‬ ‫تمثيل‬JSON
1
‫لصيغة‬ ‫الرمسي‬ ‫ادلوقع‬ ‫على‬ ‫االعتماد‬ ‫مت‬JSON‫وىو‬json.org.‫الفقرة‬ ‫ىذه‬ ‫يف‬
JSONADE Seminar
I.Ibrahim4
‫المصفوفة‬array:
‫مفتوح‬ ‫بقوس‬ ‫ادلصفوفة‬ ‫تبدأ‬ .‫القيم‬ ‫من‬ ‫تبة‬‫ر‬‫م‬ ‫رلموعة‬ ‫ادلصفوفة‬ ‫تعترب‬]‫القوس‬ ‫بإغالق‬ ‫وتنتهي‬[.‫بفاصلة‬ ‫القيم‬ ‫فصل‬ ‫يتم‬(,).
‫الشكل‬2‫في‬ ‫المصفوفة‬ ‫تمثيل‬JSON
‫القيمة‬value:
:‫التالية‬ ‫العناصر‬ ‫أحد‬ ‫القيمة‬ ‫تكون‬ ‫أن‬ ‫ديكن‬
‫نصية‬ ‫سلسة‬string.)"( ‫مزدوجني‬ ‫اقتباس‬ ‫عالميت‬ ‫بني‬
‫عدد‬number.
( ‫منطقية‬ ‫قيمة‬true, false.)
‫زلددة‬ ‫غري‬ ‫قيمة‬null.
‫غرض‬object.
‫مصفوفة‬array.
‫متداخلة‬ ‫تكون‬ ‫أن‬ ‫العناصر‬ ‫ذلذه‬ ‫ديكن‬nested.
‫الشكل‬3‫في‬ ‫القيمة‬ ‫تمثيل‬JSON
JSONADE Seminar
I.Ibrahim5
‫النصية‬ ‫السلسلة‬string:
‫جملموعة‬ ‫شلكن‬( ‫األحرف‬String‫اليونيكود‬ ‫أحرف‬ ‫أي‬ ‫من‬ ‫تكون‬ ‫أن‬ )‫زلرف‬ ‫مع‬ )"( ‫مزدوجة‬ ‫اقتباس‬ ‫عالمات‬ ‫ضمن‬ ‫اة‬‫و‬‫زلت‬
‫اذلروب‬(/)،‫يف‬ ‫النصية‬ ‫السلسلة‬ ‫تشبو‬JSON‫ادل‬ ‫تلك‬‫س‬‫ت‬‫يف‬ ‫خدمة‬C‫أو‬Java.
‫الشكل‬4‫النصية‬ ‫السلسلة‬string‫في‬JSON
‫الرقم‬number:
‫يف‬ ‫قم‬‫ر‬‫ال‬ ‫يشبو‬JSON‫يف‬ ‫سبثيلو‬ ‫كيفية‬C‫أو‬Java‫ماعدا‬ ،‫الثمانية‬ ‫األرقام‬octal‫ية‬‫ر‬‫عش‬ ‫الست‬‫و‬hexadecimal‫ال‬ ‫اليت‬
‫يف‬ ‫توجد‬JSON.
‫الشكل‬5‫في‬ ‫الرقم‬ ‫تمثيل‬JSON
JSONADE Seminar
I.Ibrahim6
4-‫عملية‬ ‫أمثلة‬
‫تستعمل‬ ‫اليت‬ ‫اقعية‬‫و‬‫ال‬ ‫العملية‬ ‫األمثلة‬ ‫بعض‬ ‫الفقرة‬ ‫ىذه‬ ‫يف‬ ‫نقدم‬JSON.‫للمعطيات‬ ‫بينية‬ ‫سبثيل‬ ‫كصيغة‬
‫بني‬ ‫فيو‬ ‫نقارن‬ ‫سبهيدي‬ ‫دبثال‬ ‫نبدأ‬JSON‫و‬XML‫مثالني‬ ‫إىل‬ ‫ننتقل‬ ‫ومث‬ ،‫يقتني‬‫ر‬‫الط‬ ‫باستخدام‬ ‫ادلعطيات‬ ‫نفس‬ ‫سبثيل‬ ‫كيفية‬‫و‬
‫منصيت‬ ‫من‬ ‫لكل‬ ‫حقيقيني‬Twitter‫و‬Facebook.‫تقدماهنما‬ ‫اليت‬ ‫الوب‬ ‫وخدمات‬
4-1‫تمهيدي‬ ‫مثال‬
‫سبثيل‬ ‫التايل‬ ‫الرماز‬ ‫ديثل‬JSON‫ل‬‫مصغر‬ ‫تطبيق‬widget‫أندرويد‬ ‫نظام‬ ‫يف‬[7].
{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}
‫اجلذر‬ ‫وجود‬ ‫نالحظ‬widget‫مثل‬ ‫سلتلفة‬ ‫خصائص‬ ‫الغرض‬ ‫ىذا‬ ‫حيوي‬ .‫نقلو‬ ‫يتم‬ ‫الذي‬ ‫الغرض‬ ‫ديثل‬ ‫الذي‬debug‫ذو‬
‫النصية‬ ‫القيمة‬on‫و‬ ،window،image‫و‬text‫اض‬‫ر‬‫أغ‬ ‫ديثلون‬ ‫الذين‬objects.
JSONADE Seminar
I.Ibrahim7
‫بوساطة‬ ‫السابق‬ ‫الغرض‬ ‫سبثيل‬ ‫ديكن‬XML.‫التايل‬ ‫الرماز‬ ‫خالل‬ ‫من‬
<widget>
<debug>on</debug>
<window title="Sample Konfabulator Widget">
<name>main_window</name>
<width>500</width>
<height>500</height>
</window>
<image src="Images/Sun.png" name="sun1">
<hOffset>250</hOffset>
<vOffset>250</vOffset>
<alignment>center</alignment>
</image>
<text data="Click Here" size="36" style="bold">
<name>text1</name>
<hOffset>250</hOffset>
<vOffset>100</vOffset>
<alignment>center</alignment>
<onMouseUp>
sun1.opacity = (sun1.opacity / 100) * 90;
</onMouseUp>
</text>
</widget>
4-2‫منصة‬Twitter
‫التايل‬ ‫ادلثال‬ ‫ديثل‬[8]‫خدمات‬ ‫استخدامك‬ ‫عند‬ ‫اه‬‫ر‬‫ت‬ ‫أن‬ ‫ديكن‬ ‫دلا‬ ً‫ا‬‫مقطع‬Twitter‫الربرلية‬Twitter API‫اختيار‬ ‫حالة‬ ‫يف‬
‫صيغة‬JSON‫منصة‬ ‫من‬ ‫ربصل‬ ‫أن‬ ‫ديكن‬ .Twitter‫خالل‬ ‫يداتو‬‫ر‬‫وتغ‬ ‫معني‬ ‫مستخدم‬ ‫معلومات‬ ‫أو‬ ‫يدات‬‫ر‬‫التغ‬ ‫أحد‬ ‫على‬
‫صيغة‬ ‫باستخدام‬ ‫كتها‬‫مشار‬ ‫يتم‬ ‫أن‬ ‫ديكن‬ ‫اليت‬ ‫معينة‬ ‫فًتة‬JSON.‫بسهولة‬‫خدمات‬ ‫على‬ ‫احلصول‬ ‫ديكن‬Twitter‫منصة‬ ‫من‬
‫يف‬ ‫ادلوجودة‬ ‫هبم‬ ‫اخلاصة‬ ‫ين‬‫ر‬‫ادلطو‬[9].
{"results":[
{
"text":"@twitterapi http://tinyurl.com/ctrefg",
"to_user_id":396524,
"to_user":"TwitterAPI",
"from_user":"jkoum",
"metadata":
{
"result_type":"popular",
"recent_retweets": 109
},
JSONADE Seminar
I.Ibrahim8
"id":1478555574,
"from_user_id":1833773,
"iso_language_code":"nl",
"source":"<a href="http://twitter.com/">twitter< /a>",
"profile_image_url":"http://s3.amazonaws.com/twitter_production/pr
ofile_images/118412707/2522215727_a5f07da155_b_normal.jpg",
"created_at":"Wed, 08 Apr 2009 19:22:10 +0000"},
... truncated ...],
"since_id":0,
"max_id":1480307926,
"refresh_url":"?since_id=1480307926&amp;q=%40twitterapi",
"results_per_page":15,
"next_page":"?page=2&amp;max_id=1480307926&amp;q=%40twitterapi",
"completed_in":0.031704,
"page":1,
"query":"%40twitterapi"}
}
.‫العددية‬‫و‬ ‫النصية‬ ‫القيم‬‫و‬ ‫اض‬‫ر‬‫األغ‬‫و‬ ‫ادلصفوفات‬ ‫مثل‬ ‫السابق‬ ‫ادلقطع‬ ‫يف‬ ‫اكيب‬‫ًت‬‫ال‬ ‫سلتلف‬ ‫وجود‬ ‫نالحظ‬
4-3‫أخرى‬ ‫أمثلة‬
‫استخدام‬ ً‫ا‬‫حالي‬ ‫جيري‬JSON‫نوع‬ ‫من‬ ‫الوب‬ ‫خدمات‬ ‫مع‬REST‫لتقدمي‬ ‫كات‬‫الشر‬ ‫كربى‬ ‫يف‬ ‫عليها‬ ‫االعتماد‬ ‫مت‬ ‫اليت‬‫و‬
‫مثل‬ ‫لديها‬ ‫الوب‬ ‫خدمات‬Facebook،Google،Flikr،YouTube،iPhone Apps Settingsً‫ا‬‫أيض‬ ‫الكثري‬‫و‬
[10].
JSONADE Seminar
I.Ibrahim9
5-JSON‫مقابل‬XML1
5-1‫مقدمة‬
‫ـ‬‫ب‬ ‫خاصة‬ ‫مسودة‬ ‫أول‬ ‫طرحت‬‫ـ‬‫ـ‬XML‫عام‬ ‫يف‬ ‫بوسطن‬ ‫سبر‬‫ؤ‬‫م‬ ‫يف‬0996[11]‫لغة‬ ‫من‬ ‫االنطالق‬ ‫مت‬ ‫حيث‬ ،SGML‫ليتم‬
‫منظمة‬ ‫اء‬‫و‬‫ل‬ ‫وربت‬ ‫اإلجيابية‬ ‫ات‬‫ز‬‫ادلي‬ ‫من‬ ‫العديد‬ ‫ربقق‬ ‫زباطب‬ ‫لغة‬ ‫بناء‬W3C.‫مباشر‬ ‫بشكل‬ ‫معريهتا‬ ‫ليتم‬
‫إن‬JSON‫لغة‬ ‫يف‬ ً‫ا‬‫سلف‬ ‫مدعومة‬JavaScript‫ربتاج‬ ‫بينما‬XML‫م‬ ‫العديد‬ ‫إىل‬‫مثل‬ ‫ادلكاتب‬ ‫ن‬DOM, XPath‫يتم‬
‫أن‬ ‫القول‬ ‫ديكن‬ .‫معها‬ ‫التعامل‬JSON‫من‬ ‫أفضل‬ ‫ىي‬XML‫تطبيقات‬ ‫يف‬JavaScript‫تقدر‬ ‫أن‬ ‫ديكن‬‫و‬JSON‫بأهنا‬
‫ع‬‫أسر‬‫من‬XMLً‫ة‬‫(وخاص‬ ‫التطبيقات‬ ‫من‬ ‫النوع‬ ‫ىذا‬ ‫يف‬ ‫ات‬‫ر‬‫ادل‬ ‫دبئات‬AJAX)[12].‫تعترب‬ ‫اليت‬ ‫األمور‬ ‫بعض‬ ‫ىناك‬ ‫ولكن‬
‫يف‬ ‫سلبية‬JSON‫مثل‬‫األمساء‬ ‫لنطاق‬ ‫دعم‬ ‫وجود‬ ‫عدم‬namespace‫الدخل‬ ‫من‬ ‫التحقق‬ ‫عدم‬ ،input validation،
.‫التوسع‬ ‫قابلية‬ ‫وعدم‬
‫كفورد‬‫كرو‬ ‫يرد‬[13]‫غرض‬ ‫كل‬ ‫بأن‬ ‫النقاط‬ ‫ىذه‬ ‫على‬object‫حيث‬ ،‫ذاتو‬ ‫حبد‬ ‫أمساء‬ ‫نطاق‬ ‫ىو‬‫األمساء‬ ‫رلموعة‬ ‫أن‬
‫تستعمل‬ ‫كما‬،‫آخر‬ ‫غرض‬ ‫أي‬ ‫يف‬ ‫مستخدمة‬ ‫أمساء‬ ‫رلموعة‬ ‫أي‬ ‫عن‬ ً‫ا‬‫سبام‬ ‫منفصلة‬ ‫فيو‬ ‫ادلستخدمة‬JSON‫السياق‬context
‫لية‬‫و‬‫مسؤ‬ ‫من‬ ‫وليس‬ ‫ادلستخدم‬ ‫تطبيق‬ ‫لية‬‫و‬‫مسؤ‬ ‫ىو‬ ‫الدخل‬ ‫من‬ ‫التحقق‬ ‫بأن‬ ‫يرد‬ ‫كما‬.،‫بررلة‬ ‫لغة‬ ‫أي‬ ‫مثل‬ ،‫الغموض‬ ‫عن‬ ‫لتبتعد‬
JSON‫قابلي‬ ‫عدم‬ ‫أن‬ ‫يقول‬ ‫بينما‬ ،‫تتيحها‬ ‫اليت‬ ‫اكيب‬‫ًت‬‫ال‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫عليها‬ ‫الرد‬ ‫ديكن‬ ‫التوسع‬ ‫ة‬JSON‫ادلوجودة‬ ‫األرحيية‬‫و‬
.‫فيها‬
5-2‫حالة‬ ‫اسة‬‫ر‬‫د‬
‫يف‬ ‫حالة‬ ‫اسة‬‫ر‬‫د‬ ‫عرض‬ ‫مت‬[12]‫من‬ ‫كل‬‫بني‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫باألرقام‬ ‫تبني‬JSON‫و‬XML‫النقل‬ ‫وقت‬ ‫من‬ ‫كل‬‫قياس‬ ‫مت‬ ‫حيث‬ .2
transmission time‫ارد‬‫و‬‫ادل‬ ‫استعمال‬ ‫وحجم‬resources utilization.‫على‬ ‫اسة‬‫ر‬‫الد‬ ‫ذلذه‬ ‫يبية‬‫ر‬‫التج‬ ‫البيئة‬ ‫تعتمد‬
‫بون/سلدم‬‫ز‬ ‫نامج‬‫ر‬‫ب‬‫بصيغيت‬ ‫اض‬‫ر‬‫أغ‬ ‫بإرسال‬ ‫بون‬‫ز‬‫ال‬ ‫يقوم‬ ‫حيث‬JSON, XML‫األداء‬ ‫بقياس‬ ‫يق‬‫ر‬‫الف‬ ‫ويقوم‬ ،‫ادلخدم‬ ‫إىل‬
.‫ارد‬‫و‬‫ادل‬ ‫استهالك‬‫و‬‫بون‬‫ز‬‫ال‬ ‫من‬ ‫كل‬‫عزل‬ ‫مت‬ ‫اسة‬‫ر‬‫الد‬ ‫ىذه‬ ‫نتائج‬ ‫صحة‬ ‫على‬ ‫للحفاظ‬.‫وتداخالهتا‬ ‫اخلارجية‬ ‫الشبكة‬ ‫عن‬ ‫ادلخدم‬‫و‬
‫يف‬ .‫كبرية‬‫بدقة‬ ‫القياسات‬ ‫ربديد‬ ‫من‬ ‫يق‬‫ر‬‫الف‬ ‫ليتمكن‬ ‫غرض‬ ‫مليون‬ ‫ل‬َ‫رس‬ُ‫ي‬ ‫األول‬ ‫يو‬‫ر‬‫السينا‬ ‫يف‬ ،‫بة‬‫ر‬‫للتج‬ ‫يوىني‬‫ر‬‫سينا‬ ‫اسة‬‫ر‬‫الد‬ ‫تقدم‬
( ‫سلتلفة‬ ‫عملية‬ ‫اقعية‬‫و‬ ‫حاالت‬ ‫ديثل‬ ‫الثاين‬ ‫يو‬‫ر‬‫السينا‬02222،42222،62222،822222،022222.‫غرض‬ )
‫اجلد‬ ‫ديثل‬.‫سبت‬ ‫اليت‬ ‫اسة‬‫ر‬‫الد‬ ‫نتائج‬ ‫التايل‬ ‫ول‬
1
‫ادلعطيات‬ ‫تبادل‬ ‫وىو‬ ‫الصيغتني‬ ‫بني‬ ‫ادلشًتك‬ ‫اجملال‬ ‫إال‬ ‫ىنا‬ ‫نناقش‬ ‫ال‬Data Exchange‫هبا‬ ‫تعمل‬ ‫اليت‬ ‫اجملاالت‬ ‫نناقش‬ ‫وال‬XML‫هبا‬ ‫يعمل‬ ‫وال‬JSON‫ين‬‫ز‬‫زب‬ ‫مثل‬
.‫البيانات‬
2
‫ربليلو‬ ‫(مع‬ ‫بررلي‬ ‫غرض‬ ‫إىل‬ ‫وصولو‬ ‫وحىت‬ ‫بون‬‫ز‬‫ال‬ ‫عند‬ ‫الربرلية‬ ‫حالتو‬ ‫من‬ ‫الغرض‬ ‫انتقال‬ ‫زمن‬ ‫رلموع‬ ‫النقل‬ ‫زمن‬ ‫ديثل‬parse.‫اآلخر‬ ‫الطرف‬ ‫يف‬ )
JSONADE Seminar
I.Ibrahim10
‫الجدول‬1‫نتائج‬‫نة‬‫ر‬‫مقا‬JSON‫و‬XML‫باألرقام‬
‫تفوق‬ ‫السابقة‬ ‫النتائج‬ ‫من‬ ‫نالحظ‬JSON‫على‬XML‫البيانات‬ ‫نقل‬ ‫سرعة‬ ‫يف‬‫استهالك‬ ‫نسبة‬ ‫نفس‬ ‫على‬ ‫احلفاظ‬ ‫مع‬
.‫ارد‬‫و‬‫ادل‬
‫نة‬‫ر‬‫مقا‬ ‫ديكن‬ ‫ال‬JSON‫و‬XML‫الصيغتني‬ ‫من‬ ‫كل‬‫استعمال‬ ‫ظل‬ ‫يف‬ ‫نتهما‬‫ر‬‫مقا‬ ‫جيب‬ ‫بل‬ ،‫السرعة‬‫و‬ ‫األداء‬ ‫حيث‬ ‫من‬ ‫فقط‬
‫كل‬ ‫وتأثري‬ ً‫ة‬‫شهر‬ ‫األكثر‬ ‫ئيسيني‬‫ر‬‫ال‬ ‫ونوعيها‬ ‫الوب‬ ‫خبدمات‬ ‫يف‬‫ر‬‫تع‬ ‫التالية‬ ‫الفقرة‬ ‫يف‬ ‫نقدم‬ ‫لذلك‬ ،‫ادلتنوعة‬ ‫الوب‬ ‫خدمات‬ ‫مع‬
‫استعمال‬ ‫على‬ ‫منها‬JSON‫و‬XML.‫منهما‬ ‫كل‬‫استعمال‬ ‫أماكن‬‫و‬
JSONADE Seminar
I.Ibrahim11
5-3‫الوب‬ ‫خدمات‬SOAP, REST
‫عن‬ ‫احلديث‬ ‫ديكن‬ ‫ال‬JSON‫أن‬ ‫وخاصة‬ ‫الوب‬ ‫خدمات‬ ‫مع‬ ‫بط‬‫ر‬‫ال‬ ‫بدون‬JSON‫تقنية‬ ‫انطالق‬ ‫بعد‬ ‫إال‬ ‫تنتشر‬ ‫مل‬AJAX
‫عام‬ ‫يف‬0226‫نوع‬ ‫من‬ ‫الوب‬ ‫خدمات‬ ‫مع‬ ‫تتخاطب‬ ‫كانت‬‫اليت‬ ،REST.
5-3-1‫تعريف‬‫بخدمات‬REST1
‫عامة‬ ‫بررلية‬ ‫اجهات‬‫و‬ ‫لبناء‬ ‫أساسي‬ ‫بشكل‬ ‫اخلدمات‬ ‫ىذه‬ ‫تستعمل‬Public APIs‫العمليات‬ ‫مع‬ ‫التعامل‬ ‫ليتم‬ ‫اإلنًتنت‬ ‫على‬
‫ادلعطيات‬ ‫على‬ ‫ئيسية‬‫ر‬‫ال‬CRUD Operations‫إىل‬ ‫الوصول‬ ‫حول‬ ‫اخلدمات‬ ‫ىذه‬ ‫كز‬‫تًت‬ .‫متناسقة‬ ‫اجهة‬‫و‬ ‫خالل‬ ‫من‬ ‫ارد‬‫و‬‫ادل‬
.‫احدة‬‫و‬‫اخلدمات‬ ‫ذلذه‬ ‫ديكن‬‫أو‬ ‫بسيطة‬ ‫نصية‬ ‫كانت‬ً‫اء‬‫و‬‫س‬ ‫البيانات‬ ‫لنقل‬ ‫نصية‬ ‫صيغة‬ ‫أي‬ ‫مع‬ ‫تبط‬‫ر‬‫ت‬ ‫أن‬JSON‫أو‬XML،
‫مع‬ ‫اخلدمات‬ ‫ىذه‬ ‫تبط‬‫ر‬‫ت‬ ‫أن‬ ‫العادة‬ ‫جرت‬ ‫ولكن‬JSON‫يف‬ ‫ادلعطيات‬ ‫وربليل‬ ‫نقل‬ ‫لسرعة‬ ً‫ا‬‫ر‬‫نظ‬ ‫عام‬ ‫بشكل‬JSON[11]
[12].
5-3-2‫بخدمات‬ ‫تعريف‬SOAP
‫تقدمي‬ ‫حول‬ ‫كز‬‫تًت‬ ‫كما‬ ،‫هبا‬ ‫خاصة‬ ‫كوالت‬‫بروتو‬ ‫دبجموعة‬ ‫اخلدمات‬ ‫ىذه‬ ‫تأيت‬‫من‬ ‫اء‬‫ز‬‫أج‬)‫معطياتو‬ ‫ليس‬‫و‬( ‫الربنامج‬ ‫منطق‬
.‫كخدمات‬‫ائيات‬‫ر‬‫إج‬ ‫إىل‬ ‫الوصول‬ ‫حول‬ ‫اخلدمات‬ ‫ىذه‬ ‫كز‬‫تًت‬operations‫تبط‬‫ر‬‫ت‬ .‫العمل‬ ‫منطق‬ ‫سبثل‬ )‫ادلعطيات‬ ‫ليس‬‫و‬(
‫صيغة‬ ‫مع‬ ‫اخلدمات‬ ‫ىذه‬XML‫السابق‬ ‫بالنوع‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫عام‬ ‫بشكل‬ ‫يعيبها‬ ‫ما‬ ‫وىذا‬ ‫ادلعطيات‬ ‫لتمثيل‬ ‫فقط‬[11][13].
5-3-3‫النوعين‬ ‫استخدام‬ ‫حاالت‬
‫استخدام‬ ‫يتم‬ ‫"مىت‬ ‫متكرر‬ ‫بشكل‬ ‫الو‬‫ؤ‬‫س‬ ‫جيري‬ ‫الذي‬ ‫ال‬‫ؤ‬‫الس‬ ‫على‬ ‫اب‬‫و‬‫اجل‬ ‫ديكن‬‫التعرف‬ ‫خالل‬ ‫من‬ ،"‫اخلدمات؟‬ ‫من‬ ‫نوع‬ ‫كل‬
.‫اآلخر‬ ‫النوع‬ ‫عن‬ ‫النوعني‬ ‫من‬ ‫كل‬‫دييز‬ ‫ما‬ ‫على‬
‫دييز‬ ‫ما‬ ‫إن‬REST‫كول‬‫لربوتو‬ ‫استعماذلا‬ ‫ىو‬HTTP‫وربليل‬ ‫الربرلية‬ ‫اجهات‬‫و‬‫ال‬ ‫بناء‬ ‫يف‬ ‫أكرب‬ ‫لة‬‫و‬‫سه‬ ‫يعطي‬ ‫شلا‬ ،‫فقط‬ ‫القياسي‬
‫قدرة‬ ‫أن‬ ‫كما‬ .‫ادلعطيات‬REST‫من‬ ‫أكرب‬ ‫قوة‬ ‫يعطيها‬ ‫ادلعطيات‬ ‫لتمثيل‬ ‫صيغة‬ ‫من‬ ‫أكثر‬ ‫مع‬ ‫التعامل‬ ‫على‬SOAP‫اليت‬
‫مع‬ ‫فقط‬ ‫تتعامل‬XML‫إن‬ .REST‫زببئة‬ ‫ديكن‬ .‫عام‬ ‫بشكل‬ ‫أداء‬ ‫أفضل‬‫و‬ ‫للتوسع‬ ‫قابلة‬caching‫ادلعط‬‫من‬ ‫لدة‬‫و‬‫ادل‬ ‫يات‬
REST‫يف‬ ‫ذلك‬ ‫ديكن‬ ‫ال‬ ‫بينما‬SOAP.
‫تتفوق‬ ‫مىت‬ ‫السابقة‬ ‫ات‬‫ز‬‫ادلي‬ ‫مع‬ ً‫ا‬‫إذ‬SOAP‫على‬REST.‫إن‬ ‫باحلقيقة‬SOAP‫على‬ ‫تتفوق‬REST‫التطبيقات‬ ‫يف‬
‫تقنية‬ ‫على‬ ‫اإلضافات‬ ‫بعض‬ ‫لوجود‬ ً‫ا‬‫ر‬‫نظ‬ ‫احلساسة‬SOAP‫مثل‬WS-Security‫من‬ ‫أكرب‬ ‫أمان‬ ‫(يعطي‬SSL‫ادلستعمل‬
‫يف‬HTTPS‫و‬ ،)WS-AtomicTransaction‫عدم‬ ‫أو‬ ‫كامل‬ ‫بشكل‬ ‫إما‬ ‫وإمنا‬ ‫ئي‬‫ز‬‫ج‬ ‫بشكل‬ ‫العملية‬ ‫تنفيذ‬ ‫عدم‬ ‫(يؤمن‬
‫و‬ ،)ً‫ا‬‫هنائي‬ ‫التنفيذ‬WS-ReliableMessaging)‫ادلطلوبة‬ ‫العملية‬ ‫وتنفيذ‬ ‫االتصال‬ ‫وثوقية‬ ‫(يضمن‬[11].
1
REpresentational State Transfer
JSONADE Seminar
I.Ibrahim12
‫استخدام‬ ‫جيعل‬ ‫اإلضافات‬ ‫ىذه‬ ‫وجود‬ ‫إن‬SOAP‫إيداع‬ ،‫رصيد‬ ‫(سحب‬ ‫البنكية‬ ‫التطبيقات‬ ‫مثل‬ ‫احلساسة‬ ‫التطبيقات‬ ‫يف‬
‫استخدام‬ ‫من‬ ‫احل‬‫ر‬‫دب‬ ‫أفضل‬ )...،‫رصيد‬REST.
6-‫خالصة‬
‫على‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫فنا‬‫ر‬‫تع‬‫صيغة‬JSON‫تتميز‬ .‫البيانات‬ ‫لتمثيل‬JSON،‫وربليلها‬ ‫سبثيلها‬‫و‬ ‫البيانات‬ ‫نقل‬ ‫يف‬ ‫بسرعتها‬
‫انطلقت‬JSON‫لغة‬ ‫من‬ ‫كجزء‬JavaScript‫توصيف‬ ‫يف‬ECMAScript‫لعام‬0999‫البدء‬ ‫بعد‬ ‫العامل‬ ‫إىل‬ ‫لتنطلق‬
‫بتقنية‬AJAX‫نوع‬ ‫من‬ ‫الوب‬ ‫خبدمات‬ ‫تبطت‬‫ر‬‫ا‬ ‫اليت‬REST‫صيغة‬ ‫مع‬JSON‫بون‬‫ز‬‫ال‬ ‫بني‬ ‫ادلتناقلة‬ ‫البيانات‬ ‫لتمثيل‬
.‫ادلخدم‬‫و‬
‫بني‬ ‫نة‬‫ر‬‫ادلقا‬ ‫يف‬ ‫وصلنا‬JSON‫و‬XML‫تفوق‬ ‫وىي‬ ‫اضحة‬‫و‬ ‫نتيجة‬ ‫إىل‬ ‫الورقة‬ ‫ىذه‬ ‫من‬ ‫الثانية‬ ‫الفقرة‬ ‫يف‬JSON‫يف‬
‫ا‬‫ـ‬‫ب‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫الكبرية‬ ‫لسرعتها‬ ً‫ا‬‫ر‬‫نظ‬ ‫ادلعطيات‬ ‫طلب‬ ‫إعادة‬ ‫أو‬ ‫ضياع‬ ‫من‬ ‫فيها‬ ‫خطورة‬ ‫يوجد‬ ‫ال‬ ‫اليت‬ ‫اضحة‬‫و‬‫ال‬ ‫ادلكتبية‬ ‫لتطبيقات‬
XML‫تفوق‬ ‫ولكن‬ ،XML‫جعلها‬ ،‫الصيغة‬ ‫ىذه‬ ‫ضمن‬ ‫مبنية‬ ‫السابقة‬ ‫للمشاكل‬ ‫جيدة‬ ‫حلول‬ ‫بوجود‬‫األول‬ ‫اخليار‬ ‫تكون‬
.‫العالية‬ ‫احلساسية‬ ‫ذات‬ ‫التطبيقات‬ ‫يف‬
JSONADE Seminar
I.Ibrahim13
7-‫اجع‬‫ر‬‫الم‬
[1] E. International, "ECMAScript Language Specification Standard ECMA-262," Geneva,
2011.
[2] D. Crockford, Composer, The JSON Saga. [Sound Recording]. YUI Library, Yahoo. 2011.
[3] D. Crockford, "RFC 4627: The application/json Media Type for JavaScript Object Notation
(JSON)," IETF, 2006.
[4] E. International, "The JSON Data Interchange Format, Standard ECMA-404," ECMA
International, 2013.
[5] D. Crockford, Google+, 2013.
[6] E. T. Bray, "RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format,"
Google, Inc., 2014.
[7] "JSON Example," 2015. [Online]. Available: http://json.org/example.
[8] S. Deering, "Example Twitter JSON File," 2011. [Online]. Available:
http://www.sitepoint.com/twitter-json-example/.
[9] "REST APIs," 2015. [Online]. Available: https://dev.twitter.com/rest/public.
[10] S. Deering, "10 Example JSON Files," 2011. [Online]. Available:
http://www.sitepoint.com/10-example-json-files/.
[11] D. Connolly, "Development History," W3C, 2003. [Online]. Available:
http://www.w3.org/XML/hist2002.
[12] Nurzhan Nurseitov, Michael Paulson, Randall Reynolds, Clemente Izurieta, "Comparison of
JSON and XML Data Interchange Formats: A Case Study," Montana State University –
Bozeman, Montana, USA, 2009.
[13] D. Crockford, "JSON," 2002. [Online]. Available: http://json.org/.
[14] S. Francia, "REST Vs SOAP, The Difference Between Soap And Rest," 2014. [Online].
Available: http://spf13.com/post/soap-vs-rest.
[15] "RESTful Web services: The basics," 2008. [Online]. Available:
http://www.ibm.com/developerworks/library/ws-restful/.
[16] B. Suda, "SOAP Web Services," University of Edinburgh, Edinburgh, Scotland, 2003.

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

JSON (JavaScript Object Notation)

  • 1. ‫صيغة‬JSON‫ادلعطيات‬ ‫لتبادل‬ JavaScript Object Notation ‫إعداد‬ ‫اىيم‬‫ر‬‫االب‬ ‫اىيم‬‫ر‬‫اب‬ (ibrah.ibra@gmail.com) 02/5/0205
  • 2. JSON I.Ibrahimi ‫المحتويات‬ ‫جدول‬ 0-‫مقدمة‬.........................................................................................................................0 0-‫حملة‬‫تارخيية‬.....................................................................................................................0 3-‫توصيف‬‫صيغة‬JSON.......................................................................................................3 4-‫أمثلة‬‫عملية‬...................................................................................................................6 4-0‫مثال‬‫سبهيدي‬..........................................................................................................6 4-0‫منصة‬Twitter.....................................................................................................7 4-3‫أمثلة‬‫أخرى‬...........................................................................................................8 5-JSON‫مقابل‬XML.......................................................................................................9 5-0‫مقدمة‬........................................................................................................................9 5-0‫اسة‬‫ر‬‫د‬‫حالة‬..................................................................................................................9 5-3‫خدمات‬‫الوب‬SOAP, REST.......................................................................................00 5-3-0‫يف‬‫ر‬‫تع‬‫خبدمات‬REST..................................................................................00 5-3-0‫يف‬‫ر‬‫تع‬‫خبدمات‬SOAP..................................................................................00 5-3-3‫حاالت‬‫استخدام‬‫النوعني‬..................................................................................00 6-‫خالصة‬....................................................................................................................00
  • 3. JSON I.Ibrahimii ‫األشكال‬ ‫قائمة‬ ‫الشكل‬0‫سبثيل‬‫الغرض‬‫يف‬JSON......................................................................................3 ‫الشكل‬0‫سبثيل‬‫ادلصفوفة‬‫يف‬JSON....................................................................................4 ‫الشكل‬3‫سبثيل‬‫القيمة‬‫يف‬JSON.......................................................................................4 ‫الشكل‬4‫السلسلة‬‫النصية‬string‫يف‬JSON..........................................................................5 ‫الشكل‬5‫سبثيل‬‫قم‬‫ر‬‫ال‬‫يف‬JSON........................................................................................5
  • 4. JSONADE Seminar I.Ibrahim1 1-‫مقدمة‬ ‫صيغة‬ ‫حظيت‬ ‫لقد‬JSON‫بساطتها‬ ‫سامهت‬ ‫وقد‬ ،‫األخرية‬ ‫الفًتة‬ ‫خالل‬ ‫الويب‬ ‫عامل‬ ‫يف‬ ‫االىتمام‬ ‫من‬ ‫بالكثري‬ ‫البيانات‬ ‫لتمثيل‬ ‫يز‬‫ز‬‫تع‬ ‫يف‬ ‫تطبيقها‬ ‫لة‬‫و‬‫وسه‬‫ىذا‬‫ال‬‫استخدامها‬ ‫شيوع‬ ‫إىل‬ ‫إضافة‬ ،‫توجو‬‫يف‬‫البيانات‬ ‫ونقل‬ ‫تبادل‬‫ك‬‫من‬ ‫العديد‬ ‫زباطب‬ ‫اجهات‬‫و‬ ‫لغة‬ ‫من‬ ‫أصيل‬ ‫بدعم‬ ‫تتمتع‬ ‫كوهنا‬ ‫عن‬ ‫عدى‬ ‫ىذا‬ .‫الويب‬ ‫تطبيقات‬JavaScript‫اع‬‫و‬‫أن‬ ‫سلتلف‬ ‫على‬ ‫االنتشار‬ ‫اسعة‬‫و‬‫ال‬ .‫الشائعة‬ ‫ادلتصفحات‬ ‫تنسيق‬ ‫يعد‬ ‫ال‬JSON‫ضمن‬ ‫الكائنات‬ ‫لربرلة‬ ‫يقة‬‫ر‬‫ط‬ ‫ال‬‫و‬‫األح‬ ‫من‬ ‫حال‬ ‫بأي‬JavaScript‫أخرى‬ ‫جهة‬ ‫من‬ ‫يعد‬ ‫لكنو‬ ، ‫لغة‬ ‫زلرك‬ ‫هبا‬ ‫يقوم‬ ‫اليت‬ ‫يقة‬‫ر‬‫للط‬ ‫الفعلي‬ ‫الشكل‬JavaScript‫الكائنات‬ ‫تلك‬ ‫وتوصيف‬ ‫بط‬‫ر‬‫ب‬Objects.‫الذاكرة‬ ‫ضمن‬ ً‫ا‬‫أسلوب‬ ‫التنسيق‬ ‫ىذا‬ ‫يعترب‬ ،‫باختصار‬ً‫ا‬‫يع‬‫ر‬‫س‬‫اجهات‬‫و‬‫و‬ ‫جهة‬ ‫من‬ ‫الويب‬ ‫تطبيقات‬ ‫بني‬ ‫فيما‬ ‫البيانات‬ ‫لتبادل‬ ‫قوية‬ ‫يقة‬‫ر‬‫وط‬ ‫تنسيق‬ ‫كون‬‫عن‬ ‫فعدى‬ ،‫أخرى‬ ‫جهة‬ ‫من‬ ‫ادلتصفح‬ ‫طرف‬ ‫على‬ ‫ادلستخدم‬JSON‫اسيب‬‫و‬‫للح‬ ‫بالنسبة‬ ‫التحليل‬‫و‬ ‫التوليد‬ ‫سهل‬ ‫ببس‬ ‫وفهمو‬ ‫اءتو‬‫ر‬‫ق‬ ‫بإمكانية‬ ‫الوقت‬ ‫ذات‬ ‫يف‬ ‫يتميز‬ ‫فهو‬.‫البشر‬ ‫قبل‬ ‫من‬ ‫اطة‬‫الصيغة‬ ‫استقاء‬ ‫من‬ ‫الرغم‬ ‫على‬JSON‫لغة‬ ‫من‬ JavaScript‫التنسيق‬ ‫ىذا‬ ‫فإن‬ ،‫األصل‬ ‫يف‬ً‫ا‬‫سبام‬ ‫مستقلة‬ ‫نصية‬ ‫صيغة‬ ‫يعد‬.‫الربرلة‬ ‫لغة‬ ‫عن‬ ‫تنسيق‬ ‫إن‬JSON‫لغة‬ ‫ضمن‬ ‫سلتلفة‬ ‫معطيات‬ ‫بٌت‬ ‫توصيف‬ ‫على‬ ‫قادر‬JavaScript‫القيم‬ ‫من‬ ‫ج‬‫تتدر‬ ‫ادلتصفح‬ ‫طرف‬ ‫على‬ ً‫ا‬‫شيوع‬ ‫األكثر‬ ‫األساسية‬ ‫ادلعطيات‬ ‫بٌت‬ ‫تعد‬ ‫اليت‬‫و‬( ‫النصية‬ ‫السالسل‬ ‫إىل‬ ‫األرقام‬ ‫إىل‬ ‫ادلنطقية‬‫كما‬ ،‫ادلصفوفات‬ ‫إىل‬ ‫وصوال‬ ) ‫تنسيق‬ ‫يستطيع‬JSONً‫ا‬‫أيض‬ ‫يقوم‬ ‫أن‬ ‫وإتقان‬ ‫حبرص‬ ‫فة‬ّ‫معر‬ ‫اعدية‬‫و‬‫ق‬ ‫بٌت‬ ‫باستخدام‬‫بعد‬ ‫نستطيع‬ ‫حيث‬ ،‫الكائنات‬ ‫بتوصيف‬ ‫أن‬ ‫ذلك‬‫ا‬ ‫بذلك‬ ‫ادلصاغة‬ ‫البيانات‬ ‫بتحويل‬ ‫نقوم‬‫األصلي‬ ‫وضعها‬ ‫إىل‬ ‫لنعيدىا‬ ‫لتنسيق‬‫وذلك‬ ‫جديد‬ ‫من‬ ‫فعلية‬ ‫ككائنات‬ ‫تعليمة‬ ‫باستخدام‬eval()‫بلغة‬JavaScript. ‫تنسيق‬ ‫قوة‬ ‫إن‬JSON‫لصيغة‬ ‫أصيل‬ ‫دعم‬ ‫بتوفري‬ ‫تقوم‬ ‫أخرى‬ ‫شائعة‬ ‫بررلية‬ ‫لغات‬ ‫أخذت‬ ‫بل‬ ،‫فقط‬ ‫احلد‬ ‫ىذا‬ ‫عند‬ ‫تتوقف‬ ‫ال‬ ‫لغيت‬ ‫مثل‬ ‫التنسيق‬ ‫ىذا‬PHP‫و‬ActionScript‫لغة‬ ‫باستطاعة‬ ،‫ادلثال‬ ‫سبيل‬ ‫فعلى‬ .PHP‫اإلصدار‬ ‫من‬ ‫(بدءا‬5.0‫أن‬ ) ‫بتنسيق‬ ‫نصية‬ ‫سلسلة‬ ‫إىل‬ ‫مصفوفة‬ ‫أي‬ ‫بيانات‬ ‫بتحويل‬ ‫تقوم‬JSON‫وخبطوة‬ ‫مباشرة‬‫تعليمة‬ ‫باستخدام‬ ‫وذلك‬ ‫احدة‬‫و‬ )(json_encode‫بتنسيق‬ ‫مصاغة‬ ‫نصية‬ ‫سلسلة‬ ‫بيانات‬ ‫تعيد‬ ‫حبيث‬ ‫ادلعاكسة‬ ‫بالوظيفة‬ ‫القيام‬ ‫أيضا‬ ‫بإمكاهنا‬ ‫أصبح‬ ‫كما‬ ، JSON)( ‫تعليمة‬ ‫باستخدام‬ ‫وذلك‬ ‫جديد‬ ‫من‬ ‫مصفوفة‬ ‫إىل‬json_decode. ‫التنس‬ ‫ىذا‬ ‫الشائعة‬‫و‬ ‫احلديثة‬ ‫الربرلة‬ ‫لغات‬ ‫كافة‬ ‫تدعم‬ ،‫ادلبدأ‬ ‫حيث‬ ‫من‬‫خالل‬ ‫من‬ ‫أو‬ ‫أصيل‬ ‫بشكل‬ ‫إما‬ ‫بآخر‬ ‫أو‬ ‫بشكل‬ ‫يق‬ ‫الربرلة‬ ‫لغات‬ ‫من‬ ‫للعديد‬ ‫ادلكتبات‬ ‫ىذه‬ ‫مثل‬ ‫تتوفر‬ ‫حيث‬ ،‫إليو‬ ‫البيانات‬ ‫وتصدير‬ ‫التنسيق‬ ‫ىذا‬ ‫اءة‬‫ر‬‫بق‬ ‫تسمح‬ ‫اليت‬ ‫ادلكتبات‬ ‫احلصر‬ ‫ال‬ ‫ادلثال‬ ‫سبيل‬ ‫على‬ ‫منها‬C‫و‬C++‫و‬C#‫و‬Java‫و‬Perl‫و‬Python‫و‬PHP‫جيعل‬ ‫ما‬ ‫وىو‬ ،‫الكثري‬ ‫وغريىا‬ ‫تنس‬ ‫من‬‫يق‬JSONً‫ا‬‫مثالي‬‫الشبكة‬ ‫فضاء‬ ‫على‬ ‫خصوصا‬ ‫التطبيقات‬ ‫بني‬ ‫فيما‬ ‫البيانات‬ ‫لتبادل‬‫العادلية‬(Internet.)
  • 5. JSONADE Seminar I.Ibrahim2 ‫عن‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫نتحدث‬‫صيغة‬JSON.‫تنسيقها‬ ‫اعد‬‫و‬‫وق‬ ‫وتوصيفها‬‫الفقرة‬ ‫يف‬ ‫تارخيية‬ ‫بلمحة‬ ‫نبدأ‬0‫مث‬ ،‫الصيغة‬ ‫نشوء‬ ‫عن‬ ‫صيغة‬ ‫توصيف‬ ‫نبني‬json‫الفقرة‬ ‫يف‬ ‫لننتقل‬ ،‫الرمسي‬4‫إع‬ ‫إىل‬‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫من‬ ‫الثاين‬ ‫اجلزء‬ ‫يف‬ ‫ننتقل‬ .‫عنها‬ ‫عملية‬ ‫أمثلة‬ ‫طاء‬ ‫أفضلية‬ ‫حول‬ ‫للنقاش‬JSON‫على‬XML.‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫إليو‬ ‫توصلنا‬ ‫ما‬ ‫خالصة‬ ‫نقدم‬ ‫النهاية‬ ‫ويف‬ .‫البيانات‬ ‫نقل‬ ‫رلال‬ ‫يف‬ 2-‫يخية‬‫ر‬‫تا‬ ‫لمحة‬ ‫تنسيق‬ ‫يعود‬JSON‫معيار‬ ‫من‬ ‫الثالث‬ ‫اإلصدار‬ ‫من‬ ‫جزء‬ ‫إىل‬ ‫لو‬‫و‬‫أص‬ ‫يف‬ECMA-262‫بلغة‬ ‫اخلاص‬JavaScript‫للربرلة‬ ‫ديسمرب‬ / ‫أول‬ ‫كانون‬‫شهر‬ ‫يف‬ ‫مرة‬ ‫أول‬ ‫أطلق‬ ‫الذي‬‫و‬0999[1]. ‫صيغة‬ ‫نشأت‬JSON‫باحلالة‬ ‫ربتفظ‬ ‫اتصال‬ ‫لوسيلة‬ ‫أساسية‬ ‫كحاجة‬stateful‫دلكونات‬ ‫احلاجة‬ ‫دون‬ ‫بون‬‫ز‬‫ال‬‫و‬ ‫ادلخدم‬ ‫بني‬ ‫امج‬‫ر‬‫ب‬ ‫مثل‬ ‫للمتصفحات‬ ‫إضافية‬Flash‫أو‬Java applets.‫اجلديدة‬ ‫األلفية‬ ‫بداية‬ ‫حقبة‬ ‫يف‬ ‫ين‬‫ر‬‫مسيط‬ ‫ا‬‫و‬‫كان‬‫الذين‬ ‫كفورد‬‫كرو‬ ‫دوغالس‬ ‫بدأ‬Douglas Crockrord‫الصيغة‬ ‫ونشر‬ ‫توصيف‬ ‫على‬ ‫بالعمل‬[2]‫يف‬ ‫الصيغة‬ ‫بتطوير‬ ‫قام‬ ‫حيث‬ ، ‫كتو‬‫شر‬State Software‫نيسان‬ ‫يف‬ ‫انطلقت‬ ‫اليت‬0220.‫ادلوقع‬ ‫كفورد‬‫كرو‬ ‫أطلق‬‫الرمسي‬json.org‫عام‬ ‫يف‬0220 ‫تقف‬ ‫مل‬ .‫الصيغة‬ ‫ىذه‬ ‫على‬ ‫العمل‬ ‫عن‬ ‫بعدىا‬ ‫ليتقاعد‬JSON‫وبناء‬ ‫باستعماذلا‬ ‫ادلطورون‬ ‫بدأ‬ ‫وإمنا‬ ‫فقط‬ ‫كفورد‬‫كرو‬ ‫عند‬ ‫لغوية‬ ‫زللالت‬Parsers‫لكي‬ ‫الرمسي‬ ‫ادلوقع‬ ‫عرب‬ ‫كفورد‬‫كرو‬‫مع‬ ‫اصل‬‫و‬‫بالت‬ ‫ا‬‫و‬‫وقام‬ ‫الربرلة‬ ‫لغات‬ ‫من‬ ‫للعديد‬ ‫الصيغة‬ ‫هبذه‬ ‫خاصة‬ ‫احمل‬ ‫ىذه‬ ‫يضيف‬‫موقعو‬ ‫إىل‬ ‫لالت‬. ‫عام‬ ‫يف‬0225‫لتقنية‬ ‫الكربى‬ ‫االنطالقة‬ ‫كانت‬AJAX‫معها‬ ‫سحبت‬ ‫اليت‬JSON‫ىذه‬ ‫شهرة‬ ‫يف‬ ‫وساعدت‬ ‫األعلى‬ ‫إىل‬ ‫الصيغة‬‫أن‬ ‫باعتبار‬ ‫البعض‬ ‫قبل‬ ‫من‬ ‫بتها‬‫ر‬‫زلا‬ ‫مع‬ ‫انتشارىا‬‫و‬AJAX‫مع‬ ‫افق‬‫و‬‫تت‬ ‫كانت‬ ‫البداية‬ ‫يف‬XML(X is XML) ‫تقدم‬ ‫ق‬ِ‫ع‬ُ‫ي‬ ‫مل‬ ‫ىذا‬ ‫ولكن‬JSON‫تطبيقات‬ ‫"تطوير‬ ‫حينها‬ ‫العصر‬ ‫ظاىرة‬ ‫مع‬ ‫تباطها‬‫ر‬‫ا‬‫و‬ ‫اجهة‬‫و‬‫ال‬ ‫إىل‬AJAX." ‫عام‬ ‫يف‬0226‫معرية‬ ‫سبت‬Standardization‫صيغة‬JSON‫مسودة‬ ‫ح‬‫طر‬ ‫خالل‬ ‫من‬RFC‫الرقم‬ ‫ذات‬4627[3]، ‫تطور‬ ‫يتوقف‬ ‫مل‬ ‫ولكن‬JSON‫ت‬ ‫خالل‬ ‫من‬ ً‫ا‬‫أيض‬ ‫معريهتا‬ ‫سبت‬ ‫وإمنا‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫على‬‫وصيف‬JavaScript‫من‬ ‫الصادر‬ ‫منظمة‬Ecma International‫قة‬‫ر‬‫الو‬ ‫يف‬ECMA-404[4]‫عام‬ ‫يف‬ ‫صدرت‬ ‫اليت‬0203‫دوغالس‬ ‫حينها‬ ‫ليعلن‬ ‫أن‬ ً‫ا‬‫رمسي‬ ‫كفورد‬‫كرو‬JSONً‫ا‬‫عادلي‬ ‫البيانات‬ ‫دلعاجلة‬ ً‫ا‬‫ر‬‫معيا‬ ‫أصبحت‬[5].‫عام‬ ‫ويف‬0204‫مت‬‫الورقة‬ ‫ربديث‬RFC 4627 ‫الورقة‬ ‫إىل‬RFC 7159[6]. ‫توصف‬ ‫اليت‬ ‫ادلعايري‬ ‫باختالف‬JSON‫قيمها‬‫ر‬‫وت‬ ‫النسخ‬ ‫يف‬ ‫تغيري‬ ‫بدون‬ ‫الصيغة‬ ‫ىذه‬ ‫تبقى‬ ،versioning‫نظرة‬ ‫ألن‬ ‫وذلك‬ ، ‫يطلق‬ ‫بأن‬ ‫كانت‬ ‫كفورد‬‫كرو‬JSON‫ليس‬‫و‬JSON 1.0‫لصيغتو‬ ‫ار‬‫ر‬‫االستق‬ ‫يد‬‫ر‬‫ي‬ ‫ألنو‬Stability.‫ادلعايري‬ ‫زبتلف‬ ‫ال‬ ‫الصيغة‬ ‫روح‬ ‫على‬ ‫تؤثر‬ ‫ال‬ ‫اليت‬ ،ً‫ا‬‫جد‬ ‫الصغرية‬ ‫التفاصيل‬ ‫ببعض‬ ‫إال‬ ‫بعضها‬ ‫بني‬ ‫ادلختلفة‬JSON‫ذلا‬ ‫كفورد‬‫كرو‬‫وصف‬ ‫يف‬[2].
  • 6. JSONADE Seminar I.Ibrahim3 3-‫صيغة‬ ‫توصيف‬JSON1 ‫بنيت‬JSON:‫تكون‬ ‫أن‬ ‫على‬ ‫يتني‬‫ر‬‫نظ‬ ‫باستخدام‬ ‫اج‬‫و‬‫األز‬ ‫من‬ ‫رلموعة‬‫اسم/قيمة‬name/value pairs،‫يف‬ ‫ادلعروفة‬ ‫البٌت‬ ‫سبثل‬‫الربرلة‬ ‫لغات‬ ‫سلتلف‬‫كالغرض‬ object‫القاموس‬ ،dictionary،‫اجلداول‬hash table،‫ادلفاتيح‬ ‫ذات‬ ‫السالسل‬keyed list‫أو‬‫ادلصفوفات‬ ‫ابطة‬‫ًت‬‫ادل‬associative array. ‫القيم‬ ‫من‬ ‫تبة‬‫ر‬‫م‬ ‫سلسلة‬values‫الربرلة‬ ‫لغات‬ ‫من‬ ‫كثري‬‫يف‬ ‫ادلتسخدم‬‫و‬ ‫ادلعروف‬ ‫ىو‬ ‫كما‬،‫كادلصفوفات‬arrays، ‫األشعة‬vector‫و‬ ،‫ائم‬‫و‬‫الق‬list. ‫إن‬‫الًت‬ ‫ذبعل‬ ‫اصفات‬‫و‬‫ادل‬ ‫تلك‬‫ا‬‫كيب‬‫باستخدام‬ ‫ادلوصفة‬JSON‫اليت‬ ‫الربرلة‬ ‫لغات‬ ‫معظم‬ ‫قبل‬ ‫من‬ ‫التحليل‬‫و‬ ‫كيب‬‫الًت‬ ‫سهلة‬ ‫اعتبار‬ ‫ديكن‬ ‫ولذلك‬ ،‫األشكال‬ ‫من‬ ‫بشكل‬ ‫اكيب‬‫ًت‬‫ال‬ ‫ىذه‬ ‫تدعم‬JSON.‫أخرى‬ ‫لغة‬ ‫أي‬ ‫من‬ ‫البيانات‬ ‫نقل‬ ‫يف‬ ‫األفضل‬ ‫يف‬ ‫ثل‬ُ‫سب‬ ‫أن‬ ‫السابقة‬ ‫اكيب‬‫ًت‬‫لل‬ ‫ديكن‬JSON:‫كالتايل‬ ‫الغرض‬object: ‫اسم/قيمة‬ ‫اكيب‬‫ًت‬‫ال‬ ‫من‬ ‫رلموعة‬ ‫الغرض‬ ‫يعترب‬name/value‫مفتوح‬ ‫بقوس‬ ‫يبدأ‬ .}‫مغلق‬ ‫بقوس‬ ‫وينتهي‬{‫يتبعو‬ ‫اسم‬ ‫كل‬. ( ‫عادية‬ ‫فاصلة‬ ‫آخر‬ ‫كيب‬‫تر‬ ‫أي‬ ‫عن‬ ‫يفصلو‬ ‫اسم/قيمة‬ ‫كيب‬‫تر‬ ‫كل‬‫و‬ : ‫نقطتني‬,.) ‫الشكل‬1‫في‬ ‫الغرض‬ ‫تمثيل‬JSON 1 ‫لصيغة‬ ‫الرمسي‬ ‫ادلوقع‬ ‫على‬ ‫االعتماد‬ ‫مت‬JSON‫وىو‬json.org.‫الفقرة‬ ‫ىذه‬ ‫يف‬
  • 7. JSONADE Seminar I.Ibrahim4 ‫المصفوفة‬array: ‫مفتوح‬ ‫بقوس‬ ‫ادلصفوفة‬ ‫تبدأ‬ .‫القيم‬ ‫من‬ ‫تبة‬‫ر‬‫م‬ ‫رلموعة‬ ‫ادلصفوفة‬ ‫تعترب‬]‫القوس‬ ‫بإغالق‬ ‫وتنتهي‬[.‫بفاصلة‬ ‫القيم‬ ‫فصل‬ ‫يتم‬(,). ‫الشكل‬2‫في‬ ‫المصفوفة‬ ‫تمثيل‬JSON ‫القيمة‬value: :‫التالية‬ ‫العناصر‬ ‫أحد‬ ‫القيمة‬ ‫تكون‬ ‫أن‬ ‫ديكن‬ ‫نصية‬ ‫سلسة‬string.)"( ‫مزدوجني‬ ‫اقتباس‬ ‫عالميت‬ ‫بني‬ ‫عدد‬number. ( ‫منطقية‬ ‫قيمة‬true, false.) ‫زلددة‬ ‫غري‬ ‫قيمة‬null. ‫غرض‬object. ‫مصفوفة‬array. ‫متداخلة‬ ‫تكون‬ ‫أن‬ ‫العناصر‬ ‫ذلذه‬ ‫ديكن‬nested. ‫الشكل‬3‫في‬ ‫القيمة‬ ‫تمثيل‬JSON
  • 8. JSONADE Seminar I.Ibrahim5 ‫النصية‬ ‫السلسلة‬string: ‫جملموعة‬ ‫شلكن‬( ‫األحرف‬String‫اليونيكود‬ ‫أحرف‬ ‫أي‬ ‫من‬ ‫تكون‬ ‫أن‬ )‫زلرف‬ ‫مع‬ )"( ‫مزدوجة‬ ‫اقتباس‬ ‫عالمات‬ ‫ضمن‬ ‫اة‬‫و‬‫زلت‬ ‫اذلروب‬(/)،‫يف‬ ‫النصية‬ ‫السلسلة‬ ‫تشبو‬JSON‫ادل‬ ‫تلك‬‫س‬‫ت‬‫يف‬ ‫خدمة‬C‫أو‬Java. ‫الشكل‬4‫النصية‬ ‫السلسلة‬string‫في‬JSON ‫الرقم‬number: ‫يف‬ ‫قم‬‫ر‬‫ال‬ ‫يشبو‬JSON‫يف‬ ‫سبثيلو‬ ‫كيفية‬C‫أو‬Java‫ماعدا‬ ،‫الثمانية‬ ‫األرقام‬octal‫ية‬‫ر‬‫عش‬ ‫الست‬‫و‬hexadecimal‫ال‬ ‫اليت‬ ‫يف‬ ‫توجد‬JSON. ‫الشكل‬5‫في‬ ‫الرقم‬ ‫تمثيل‬JSON
  • 9. JSONADE Seminar I.Ibrahim6 4-‫عملية‬ ‫أمثلة‬ ‫تستعمل‬ ‫اليت‬ ‫اقعية‬‫و‬‫ال‬ ‫العملية‬ ‫األمثلة‬ ‫بعض‬ ‫الفقرة‬ ‫ىذه‬ ‫يف‬ ‫نقدم‬JSON.‫للمعطيات‬ ‫بينية‬ ‫سبثيل‬ ‫كصيغة‬ ‫بني‬ ‫فيو‬ ‫نقارن‬ ‫سبهيدي‬ ‫دبثال‬ ‫نبدأ‬JSON‫و‬XML‫مثالني‬ ‫إىل‬ ‫ننتقل‬ ‫ومث‬ ،‫يقتني‬‫ر‬‫الط‬ ‫باستخدام‬ ‫ادلعطيات‬ ‫نفس‬ ‫سبثيل‬ ‫كيفية‬‫و‬ ‫منصيت‬ ‫من‬ ‫لكل‬ ‫حقيقيني‬Twitter‫و‬Facebook.‫تقدماهنما‬ ‫اليت‬ ‫الوب‬ ‫وخدمات‬ 4-1‫تمهيدي‬ ‫مثال‬ ‫سبثيل‬ ‫التايل‬ ‫الرماز‬ ‫ديثل‬JSON‫ل‬‫مصغر‬ ‫تطبيق‬widget‫أندرويد‬ ‫نظام‬ ‫يف‬[7]. {"widget": { "debug": "on", "window": { "title": "Sample Konfabulator Widget", "name": "main_window", "width": 500, "height": 500 }, "image": { "src": "Images/Sun.png", "name": "sun1", "hOffset": 250, "vOffset": 250, "alignment": "center" }, "text": { "data": "Click Here", "size": 36, "style": "bold", "name": "text1", "hOffset": 250, "vOffset": 100, "alignment": "center", "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" } }} ‫اجلذر‬ ‫وجود‬ ‫نالحظ‬widget‫مثل‬ ‫سلتلفة‬ ‫خصائص‬ ‫الغرض‬ ‫ىذا‬ ‫حيوي‬ .‫نقلو‬ ‫يتم‬ ‫الذي‬ ‫الغرض‬ ‫ديثل‬ ‫الذي‬debug‫ذو‬ ‫النصية‬ ‫القيمة‬on‫و‬ ،window،image‫و‬text‫اض‬‫ر‬‫أغ‬ ‫ديثلون‬ ‫الذين‬objects.
  • 10. JSONADE Seminar I.Ibrahim7 ‫بوساطة‬ ‫السابق‬ ‫الغرض‬ ‫سبثيل‬ ‫ديكن‬XML.‫التايل‬ ‫الرماز‬ ‫خالل‬ ‫من‬ <widget> <debug>on</debug> <window title="Sample Konfabulator Widget"> <name>main_window</name> <width>500</width> <height>500</height> </window> <image src="Images/Sun.png" name="sun1"> <hOffset>250</hOffset> <vOffset>250</vOffset> <alignment>center</alignment> </image> <text data="Click Here" size="36" style="bold"> <name>text1</name> <hOffset>250</hOffset> <vOffset>100</vOffset> <alignment>center</alignment> <onMouseUp> sun1.opacity = (sun1.opacity / 100) * 90; </onMouseUp> </text> </widget> 4-2‫منصة‬Twitter ‫التايل‬ ‫ادلثال‬ ‫ديثل‬[8]‫خدمات‬ ‫استخدامك‬ ‫عند‬ ‫اه‬‫ر‬‫ت‬ ‫أن‬ ‫ديكن‬ ‫دلا‬ ً‫ا‬‫مقطع‬Twitter‫الربرلية‬Twitter API‫اختيار‬ ‫حالة‬ ‫يف‬ ‫صيغة‬JSON‫منصة‬ ‫من‬ ‫ربصل‬ ‫أن‬ ‫ديكن‬ .Twitter‫خالل‬ ‫يداتو‬‫ر‬‫وتغ‬ ‫معني‬ ‫مستخدم‬ ‫معلومات‬ ‫أو‬ ‫يدات‬‫ر‬‫التغ‬ ‫أحد‬ ‫على‬ ‫صيغة‬ ‫باستخدام‬ ‫كتها‬‫مشار‬ ‫يتم‬ ‫أن‬ ‫ديكن‬ ‫اليت‬ ‫معينة‬ ‫فًتة‬JSON.‫بسهولة‬‫خدمات‬ ‫على‬ ‫احلصول‬ ‫ديكن‬Twitter‫منصة‬ ‫من‬ ‫يف‬ ‫ادلوجودة‬ ‫هبم‬ ‫اخلاصة‬ ‫ين‬‫ر‬‫ادلطو‬[9]. {"results":[ { "text":"@twitterapi http://tinyurl.com/ctrefg", "to_user_id":396524, "to_user":"TwitterAPI", "from_user":"jkoum", "metadata": { "result_type":"popular", "recent_retweets": 109 },
  • 11. JSONADE Seminar I.Ibrahim8 "id":1478555574, "from_user_id":1833773, "iso_language_code":"nl", "source":"<a href="http://twitter.com/">twitter< /a>", "profile_image_url":"http://s3.amazonaws.com/twitter_production/pr ofile_images/118412707/2522215727_a5f07da155_b_normal.jpg", "created_at":"Wed, 08 Apr 2009 19:22:10 +0000"}, ... truncated ...], "since_id":0, "max_id":1480307926, "refresh_url":"?since_id=1480307926&amp;q=%40twitterapi", "results_per_page":15, "next_page":"?page=2&amp;max_id=1480307926&amp;q=%40twitterapi", "completed_in":0.031704, "page":1, "query":"%40twitterapi"} } .‫العددية‬‫و‬ ‫النصية‬ ‫القيم‬‫و‬ ‫اض‬‫ر‬‫األغ‬‫و‬ ‫ادلصفوفات‬ ‫مثل‬ ‫السابق‬ ‫ادلقطع‬ ‫يف‬ ‫اكيب‬‫ًت‬‫ال‬ ‫سلتلف‬ ‫وجود‬ ‫نالحظ‬ 4-3‫أخرى‬ ‫أمثلة‬ ‫استخدام‬ ً‫ا‬‫حالي‬ ‫جيري‬JSON‫نوع‬ ‫من‬ ‫الوب‬ ‫خدمات‬ ‫مع‬REST‫لتقدمي‬ ‫كات‬‫الشر‬ ‫كربى‬ ‫يف‬ ‫عليها‬ ‫االعتماد‬ ‫مت‬ ‫اليت‬‫و‬ ‫مثل‬ ‫لديها‬ ‫الوب‬ ‫خدمات‬Facebook،Google،Flikr،YouTube،iPhone Apps Settingsً‫ا‬‫أيض‬ ‫الكثري‬‫و‬ [10].
  • 12. JSONADE Seminar I.Ibrahim9 5-JSON‫مقابل‬XML1 5-1‫مقدمة‬ ‫ـ‬‫ب‬ ‫خاصة‬ ‫مسودة‬ ‫أول‬ ‫طرحت‬‫ـ‬‫ـ‬XML‫عام‬ ‫يف‬ ‫بوسطن‬ ‫سبر‬‫ؤ‬‫م‬ ‫يف‬0996[11]‫لغة‬ ‫من‬ ‫االنطالق‬ ‫مت‬ ‫حيث‬ ،SGML‫ليتم‬ ‫منظمة‬ ‫اء‬‫و‬‫ل‬ ‫وربت‬ ‫اإلجيابية‬ ‫ات‬‫ز‬‫ادلي‬ ‫من‬ ‫العديد‬ ‫ربقق‬ ‫زباطب‬ ‫لغة‬ ‫بناء‬W3C.‫مباشر‬ ‫بشكل‬ ‫معريهتا‬ ‫ليتم‬ ‫إن‬JSON‫لغة‬ ‫يف‬ ً‫ا‬‫سلف‬ ‫مدعومة‬JavaScript‫ربتاج‬ ‫بينما‬XML‫م‬ ‫العديد‬ ‫إىل‬‫مثل‬ ‫ادلكاتب‬ ‫ن‬DOM, XPath‫يتم‬ ‫أن‬ ‫القول‬ ‫ديكن‬ .‫معها‬ ‫التعامل‬JSON‫من‬ ‫أفضل‬ ‫ىي‬XML‫تطبيقات‬ ‫يف‬JavaScript‫تقدر‬ ‫أن‬ ‫ديكن‬‫و‬JSON‫بأهنا‬ ‫ع‬‫أسر‬‫من‬XMLً‫ة‬‫(وخاص‬ ‫التطبيقات‬ ‫من‬ ‫النوع‬ ‫ىذا‬ ‫يف‬ ‫ات‬‫ر‬‫ادل‬ ‫دبئات‬AJAX)[12].‫تعترب‬ ‫اليت‬ ‫األمور‬ ‫بعض‬ ‫ىناك‬ ‫ولكن‬ ‫يف‬ ‫سلبية‬JSON‫مثل‬‫األمساء‬ ‫لنطاق‬ ‫دعم‬ ‫وجود‬ ‫عدم‬namespace‫الدخل‬ ‫من‬ ‫التحقق‬ ‫عدم‬ ،input validation، .‫التوسع‬ ‫قابلية‬ ‫وعدم‬ ‫كفورد‬‫كرو‬ ‫يرد‬[13]‫غرض‬ ‫كل‬ ‫بأن‬ ‫النقاط‬ ‫ىذه‬ ‫على‬object‫حيث‬ ،‫ذاتو‬ ‫حبد‬ ‫أمساء‬ ‫نطاق‬ ‫ىو‬‫األمساء‬ ‫رلموعة‬ ‫أن‬ ‫تستعمل‬ ‫كما‬،‫آخر‬ ‫غرض‬ ‫أي‬ ‫يف‬ ‫مستخدمة‬ ‫أمساء‬ ‫رلموعة‬ ‫أي‬ ‫عن‬ ً‫ا‬‫سبام‬ ‫منفصلة‬ ‫فيو‬ ‫ادلستخدمة‬JSON‫السياق‬context ‫لية‬‫و‬‫مسؤ‬ ‫من‬ ‫وليس‬ ‫ادلستخدم‬ ‫تطبيق‬ ‫لية‬‫و‬‫مسؤ‬ ‫ىو‬ ‫الدخل‬ ‫من‬ ‫التحقق‬ ‫بأن‬ ‫يرد‬ ‫كما‬.،‫بررلة‬ ‫لغة‬ ‫أي‬ ‫مثل‬ ،‫الغموض‬ ‫عن‬ ‫لتبتعد‬ JSON‫قابلي‬ ‫عدم‬ ‫أن‬ ‫يقول‬ ‫بينما‬ ،‫تتيحها‬ ‫اليت‬ ‫اكيب‬‫ًت‬‫ال‬ ‫يق‬‫ر‬‫ط‬ ‫عن‬ ‫عليها‬ ‫الرد‬ ‫ديكن‬ ‫التوسع‬ ‫ة‬JSON‫ادلوجودة‬ ‫األرحيية‬‫و‬ .‫فيها‬ 5-2‫حالة‬ ‫اسة‬‫ر‬‫د‬ ‫يف‬ ‫حالة‬ ‫اسة‬‫ر‬‫د‬ ‫عرض‬ ‫مت‬[12]‫من‬ ‫كل‬‫بني‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫باألرقام‬ ‫تبني‬JSON‫و‬XML‫النقل‬ ‫وقت‬ ‫من‬ ‫كل‬‫قياس‬ ‫مت‬ ‫حيث‬ .2 transmission time‫ارد‬‫و‬‫ادل‬ ‫استعمال‬ ‫وحجم‬resources utilization.‫على‬ ‫اسة‬‫ر‬‫الد‬ ‫ذلذه‬ ‫يبية‬‫ر‬‫التج‬ ‫البيئة‬ ‫تعتمد‬ ‫بون/سلدم‬‫ز‬ ‫نامج‬‫ر‬‫ب‬‫بصيغيت‬ ‫اض‬‫ر‬‫أغ‬ ‫بإرسال‬ ‫بون‬‫ز‬‫ال‬ ‫يقوم‬ ‫حيث‬JSON, XML‫األداء‬ ‫بقياس‬ ‫يق‬‫ر‬‫الف‬ ‫ويقوم‬ ،‫ادلخدم‬ ‫إىل‬ .‫ارد‬‫و‬‫ادل‬ ‫استهالك‬‫و‬‫بون‬‫ز‬‫ال‬ ‫من‬ ‫كل‬‫عزل‬ ‫مت‬ ‫اسة‬‫ر‬‫الد‬ ‫ىذه‬ ‫نتائج‬ ‫صحة‬ ‫على‬ ‫للحفاظ‬.‫وتداخالهتا‬ ‫اخلارجية‬ ‫الشبكة‬ ‫عن‬ ‫ادلخدم‬‫و‬ ‫يف‬ .‫كبرية‬‫بدقة‬ ‫القياسات‬ ‫ربديد‬ ‫من‬ ‫يق‬‫ر‬‫الف‬ ‫ليتمكن‬ ‫غرض‬ ‫مليون‬ ‫ل‬َ‫رس‬ُ‫ي‬ ‫األول‬ ‫يو‬‫ر‬‫السينا‬ ‫يف‬ ،‫بة‬‫ر‬‫للتج‬ ‫يوىني‬‫ر‬‫سينا‬ ‫اسة‬‫ر‬‫الد‬ ‫تقدم‬ ( ‫سلتلفة‬ ‫عملية‬ ‫اقعية‬‫و‬ ‫حاالت‬ ‫ديثل‬ ‫الثاين‬ ‫يو‬‫ر‬‫السينا‬02222،42222،62222،822222،022222.‫غرض‬ ) ‫اجلد‬ ‫ديثل‬.‫سبت‬ ‫اليت‬ ‫اسة‬‫ر‬‫الد‬ ‫نتائج‬ ‫التايل‬ ‫ول‬ 1 ‫ادلعطيات‬ ‫تبادل‬ ‫وىو‬ ‫الصيغتني‬ ‫بني‬ ‫ادلشًتك‬ ‫اجملال‬ ‫إال‬ ‫ىنا‬ ‫نناقش‬ ‫ال‬Data Exchange‫هبا‬ ‫تعمل‬ ‫اليت‬ ‫اجملاالت‬ ‫نناقش‬ ‫وال‬XML‫هبا‬ ‫يعمل‬ ‫وال‬JSON‫ين‬‫ز‬‫زب‬ ‫مثل‬ .‫البيانات‬ 2 ‫ربليلو‬ ‫(مع‬ ‫بررلي‬ ‫غرض‬ ‫إىل‬ ‫وصولو‬ ‫وحىت‬ ‫بون‬‫ز‬‫ال‬ ‫عند‬ ‫الربرلية‬ ‫حالتو‬ ‫من‬ ‫الغرض‬ ‫انتقال‬ ‫زمن‬ ‫رلموع‬ ‫النقل‬ ‫زمن‬ ‫ديثل‬parse.‫اآلخر‬ ‫الطرف‬ ‫يف‬ )
  • 13. JSONADE Seminar I.Ibrahim10 ‫الجدول‬1‫نتائج‬‫نة‬‫ر‬‫مقا‬JSON‫و‬XML‫باألرقام‬ ‫تفوق‬ ‫السابقة‬ ‫النتائج‬ ‫من‬ ‫نالحظ‬JSON‫على‬XML‫البيانات‬ ‫نقل‬ ‫سرعة‬ ‫يف‬‫استهالك‬ ‫نسبة‬ ‫نفس‬ ‫على‬ ‫احلفاظ‬ ‫مع‬ .‫ارد‬‫و‬‫ادل‬ ‫نة‬‫ر‬‫مقا‬ ‫ديكن‬ ‫ال‬JSON‫و‬XML‫الصيغتني‬ ‫من‬ ‫كل‬‫استعمال‬ ‫ظل‬ ‫يف‬ ‫نتهما‬‫ر‬‫مقا‬ ‫جيب‬ ‫بل‬ ،‫السرعة‬‫و‬ ‫األداء‬ ‫حيث‬ ‫من‬ ‫فقط‬ ‫كل‬ ‫وتأثري‬ ً‫ة‬‫شهر‬ ‫األكثر‬ ‫ئيسيني‬‫ر‬‫ال‬ ‫ونوعيها‬ ‫الوب‬ ‫خبدمات‬ ‫يف‬‫ر‬‫تع‬ ‫التالية‬ ‫الفقرة‬ ‫يف‬ ‫نقدم‬ ‫لذلك‬ ،‫ادلتنوعة‬ ‫الوب‬ ‫خدمات‬ ‫مع‬ ‫استعمال‬ ‫على‬ ‫منها‬JSON‫و‬XML.‫منهما‬ ‫كل‬‫استعمال‬ ‫أماكن‬‫و‬
  • 14. JSONADE Seminar I.Ibrahim11 5-3‫الوب‬ ‫خدمات‬SOAP, REST ‫عن‬ ‫احلديث‬ ‫ديكن‬ ‫ال‬JSON‫أن‬ ‫وخاصة‬ ‫الوب‬ ‫خدمات‬ ‫مع‬ ‫بط‬‫ر‬‫ال‬ ‫بدون‬JSON‫تقنية‬ ‫انطالق‬ ‫بعد‬ ‫إال‬ ‫تنتشر‬ ‫مل‬AJAX ‫عام‬ ‫يف‬0226‫نوع‬ ‫من‬ ‫الوب‬ ‫خدمات‬ ‫مع‬ ‫تتخاطب‬ ‫كانت‬‫اليت‬ ،REST. 5-3-1‫تعريف‬‫بخدمات‬REST1 ‫عامة‬ ‫بررلية‬ ‫اجهات‬‫و‬ ‫لبناء‬ ‫أساسي‬ ‫بشكل‬ ‫اخلدمات‬ ‫ىذه‬ ‫تستعمل‬Public APIs‫العمليات‬ ‫مع‬ ‫التعامل‬ ‫ليتم‬ ‫اإلنًتنت‬ ‫على‬ ‫ادلعطيات‬ ‫على‬ ‫ئيسية‬‫ر‬‫ال‬CRUD Operations‫إىل‬ ‫الوصول‬ ‫حول‬ ‫اخلدمات‬ ‫ىذه‬ ‫كز‬‫تًت‬ .‫متناسقة‬ ‫اجهة‬‫و‬ ‫خالل‬ ‫من‬ ‫ارد‬‫و‬‫ادل‬ .‫احدة‬‫و‬‫اخلدمات‬ ‫ذلذه‬ ‫ديكن‬‫أو‬ ‫بسيطة‬ ‫نصية‬ ‫كانت‬ً‫اء‬‫و‬‫س‬ ‫البيانات‬ ‫لنقل‬ ‫نصية‬ ‫صيغة‬ ‫أي‬ ‫مع‬ ‫تبط‬‫ر‬‫ت‬ ‫أن‬JSON‫أو‬XML، ‫مع‬ ‫اخلدمات‬ ‫ىذه‬ ‫تبط‬‫ر‬‫ت‬ ‫أن‬ ‫العادة‬ ‫جرت‬ ‫ولكن‬JSON‫يف‬ ‫ادلعطيات‬ ‫وربليل‬ ‫نقل‬ ‫لسرعة‬ ً‫ا‬‫ر‬‫نظ‬ ‫عام‬ ‫بشكل‬JSON[11] [12]. 5-3-2‫بخدمات‬ ‫تعريف‬SOAP ‫تقدمي‬ ‫حول‬ ‫كز‬‫تًت‬ ‫كما‬ ،‫هبا‬ ‫خاصة‬ ‫كوالت‬‫بروتو‬ ‫دبجموعة‬ ‫اخلدمات‬ ‫ىذه‬ ‫تأيت‬‫من‬ ‫اء‬‫ز‬‫أج‬)‫معطياتو‬ ‫ليس‬‫و‬( ‫الربنامج‬ ‫منطق‬ .‫كخدمات‬‫ائيات‬‫ر‬‫إج‬ ‫إىل‬ ‫الوصول‬ ‫حول‬ ‫اخلدمات‬ ‫ىذه‬ ‫كز‬‫تًت‬operations‫تبط‬‫ر‬‫ت‬ .‫العمل‬ ‫منطق‬ ‫سبثل‬ )‫ادلعطيات‬ ‫ليس‬‫و‬( ‫صيغة‬ ‫مع‬ ‫اخلدمات‬ ‫ىذه‬XML‫السابق‬ ‫بالنوع‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫عام‬ ‫بشكل‬ ‫يعيبها‬ ‫ما‬ ‫وىذا‬ ‫ادلعطيات‬ ‫لتمثيل‬ ‫فقط‬[11][13]. 5-3-3‫النوعين‬ ‫استخدام‬ ‫حاالت‬ ‫استخدام‬ ‫يتم‬ ‫"مىت‬ ‫متكرر‬ ‫بشكل‬ ‫الو‬‫ؤ‬‫س‬ ‫جيري‬ ‫الذي‬ ‫ال‬‫ؤ‬‫الس‬ ‫على‬ ‫اب‬‫و‬‫اجل‬ ‫ديكن‬‫التعرف‬ ‫خالل‬ ‫من‬ ،"‫اخلدمات؟‬ ‫من‬ ‫نوع‬ ‫كل‬ .‫اآلخر‬ ‫النوع‬ ‫عن‬ ‫النوعني‬ ‫من‬ ‫كل‬‫دييز‬ ‫ما‬ ‫على‬ ‫دييز‬ ‫ما‬ ‫إن‬REST‫كول‬‫لربوتو‬ ‫استعماذلا‬ ‫ىو‬HTTP‫وربليل‬ ‫الربرلية‬ ‫اجهات‬‫و‬‫ال‬ ‫بناء‬ ‫يف‬ ‫أكرب‬ ‫لة‬‫و‬‫سه‬ ‫يعطي‬ ‫شلا‬ ،‫فقط‬ ‫القياسي‬ ‫قدرة‬ ‫أن‬ ‫كما‬ .‫ادلعطيات‬REST‫من‬ ‫أكرب‬ ‫قوة‬ ‫يعطيها‬ ‫ادلعطيات‬ ‫لتمثيل‬ ‫صيغة‬ ‫من‬ ‫أكثر‬ ‫مع‬ ‫التعامل‬ ‫على‬SOAP‫اليت‬ ‫مع‬ ‫فقط‬ ‫تتعامل‬XML‫إن‬ .REST‫زببئة‬ ‫ديكن‬ .‫عام‬ ‫بشكل‬ ‫أداء‬ ‫أفضل‬‫و‬ ‫للتوسع‬ ‫قابلة‬caching‫ادلعط‬‫من‬ ‫لدة‬‫و‬‫ادل‬ ‫يات‬ REST‫يف‬ ‫ذلك‬ ‫ديكن‬ ‫ال‬ ‫بينما‬SOAP. ‫تتفوق‬ ‫مىت‬ ‫السابقة‬ ‫ات‬‫ز‬‫ادلي‬ ‫مع‬ ً‫ا‬‫إذ‬SOAP‫على‬REST.‫إن‬ ‫باحلقيقة‬SOAP‫على‬ ‫تتفوق‬REST‫التطبيقات‬ ‫يف‬ ‫تقنية‬ ‫على‬ ‫اإلضافات‬ ‫بعض‬ ‫لوجود‬ ً‫ا‬‫ر‬‫نظ‬ ‫احلساسة‬SOAP‫مثل‬WS-Security‫من‬ ‫أكرب‬ ‫أمان‬ ‫(يعطي‬SSL‫ادلستعمل‬ ‫يف‬HTTPS‫و‬ ،)WS-AtomicTransaction‫عدم‬ ‫أو‬ ‫كامل‬ ‫بشكل‬ ‫إما‬ ‫وإمنا‬ ‫ئي‬‫ز‬‫ج‬ ‫بشكل‬ ‫العملية‬ ‫تنفيذ‬ ‫عدم‬ ‫(يؤمن‬ ‫و‬ ،)ً‫ا‬‫هنائي‬ ‫التنفيذ‬WS-ReliableMessaging)‫ادلطلوبة‬ ‫العملية‬ ‫وتنفيذ‬ ‫االتصال‬ ‫وثوقية‬ ‫(يضمن‬[11]. 1 REpresentational State Transfer
  • 15. JSONADE Seminar I.Ibrahim12 ‫استخدام‬ ‫جيعل‬ ‫اإلضافات‬ ‫ىذه‬ ‫وجود‬ ‫إن‬SOAP‫إيداع‬ ،‫رصيد‬ ‫(سحب‬ ‫البنكية‬ ‫التطبيقات‬ ‫مثل‬ ‫احلساسة‬ ‫التطبيقات‬ ‫يف‬ ‫استخدام‬ ‫من‬ ‫احل‬‫ر‬‫دب‬ ‫أفضل‬ )...،‫رصيد‬REST. 6-‫خالصة‬ ‫على‬ ‫قة‬‫ر‬‫الو‬ ‫ىذه‬ ‫يف‬ ‫فنا‬‫ر‬‫تع‬‫صيغة‬JSON‫تتميز‬ .‫البيانات‬ ‫لتمثيل‬JSON،‫وربليلها‬ ‫سبثيلها‬‫و‬ ‫البيانات‬ ‫نقل‬ ‫يف‬ ‫بسرعتها‬ ‫انطلقت‬JSON‫لغة‬ ‫من‬ ‫كجزء‬JavaScript‫توصيف‬ ‫يف‬ECMAScript‫لعام‬0999‫البدء‬ ‫بعد‬ ‫العامل‬ ‫إىل‬ ‫لتنطلق‬ ‫بتقنية‬AJAX‫نوع‬ ‫من‬ ‫الوب‬ ‫خبدمات‬ ‫تبطت‬‫ر‬‫ا‬ ‫اليت‬REST‫صيغة‬ ‫مع‬JSON‫بون‬‫ز‬‫ال‬ ‫بني‬ ‫ادلتناقلة‬ ‫البيانات‬ ‫لتمثيل‬ .‫ادلخدم‬‫و‬ ‫بني‬ ‫نة‬‫ر‬‫ادلقا‬ ‫يف‬ ‫وصلنا‬JSON‫و‬XML‫تفوق‬ ‫وىي‬ ‫اضحة‬‫و‬ ‫نتيجة‬ ‫إىل‬ ‫الورقة‬ ‫ىذه‬ ‫من‬ ‫الثانية‬ ‫الفقرة‬ ‫يف‬JSON‫يف‬ ‫ا‬‫ـ‬‫ب‬ ً‫ة‬‫ن‬‫ر‬‫مقا‬ ‫الكبرية‬ ‫لسرعتها‬ ً‫ا‬‫ر‬‫نظ‬ ‫ادلعطيات‬ ‫طلب‬ ‫إعادة‬ ‫أو‬ ‫ضياع‬ ‫من‬ ‫فيها‬ ‫خطورة‬ ‫يوجد‬ ‫ال‬ ‫اليت‬ ‫اضحة‬‫و‬‫ال‬ ‫ادلكتبية‬ ‫لتطبيقات‬ XML‫تفوق‬ ‫ولكن‬ ،XML‫جعلها‬ ،‫الصيغة‬ ‫ىذه‬ ‫ضمن‬ ‫مبنية‬ ‫السابقة‬ ‫للمشاكل‬ ‫جيدة‬ ‫حلول‬ ‫بوجود‬‫األول‬ ‫اخليار‬ ‫تكون‬ .‫العالية‬ ‫احلساسية‬ ‫ذات‬ ‫التطبيقات‬ ‫يف‬
  • 16. JSONADE Seminar I.Ibrahim13 7-‫اجع‬‫ر‬‫الم‬ [1] E. International, "ECMAScript Language Specification Standard ECMA-262," Geneva, 2011. [2] D. Crockford, Composer, The JSON Saga. [Sound Recording]. YUI Library, Yahoo. 2011. [3] D. Crockford, "RFC 4627: The application/json Media Type for JavaScript Object Notation (JSON)," IETF, 2006. [4] E. International, "The JSON Data Interchange Format, Standard ECMA-404," ECMA International, 2013. [5] D. Crockford, Google+, 2013. [6] E. T. Bray, "RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format," Google, Inc., 2014. [7] "JSON Example," 2015. [Online]. Available: http://json.org/example. [8] S. Deering, "Example Twitter JSON File," 2011. [Online]. Available: http://www.sitepoint.com/twitter-json-example/. [9] "REST APIs," 2015. [Online]. Available: https://dev.twitter.com/rest/public. [10] S. Deering, "10 Example JSON Files," 2011. [Online]. Available: http://www.sitepoint.com/10-example-json-files/. [11] D. Connolly, "Development History," W3C, 2003. [Online]. Available: http://www.w3.org/XML/hist2002. [12] Nurzhan Nurseitov, Michael Paulson, Randall Reynolds, Clemente Izurieta, "Comparison of JSON and XML Data Interchange Formats: A Case Study," Montana State University – Bozeman, Montana, USA, 2009. [13] D. Crockford, "JSON," 2002. [Online]. Available: http://json.org/. [14] S. Francia, "REST Vs SOAP, The Difference Between Soap And Rest," 2014. [Online]. Available: http://spf13.com/post/soap-vs-rest. [15] "RESTful Web services: The basics," 2008. [Online]. Available: http://www.ibm.com/developerworks/library/ws-restful/. [16] B. Suda, "SOAP Web Services," University of Edinburgh, Edinburgh, Scotland, 2003.