JSON أو JavaScript Object Symation هي صيغة بسيطة وقابلة للقراءة بسهولة من قبل الإنسان وتستخدم لتمثيل البيانات و تبادلها بين الأنظمة البرمجية المختلفة.
جيسون JSON ليست لغة برمجية إنما هي طريقة متفق عليها بين لغات البرمجة المختلفة لتمثيل البيانات بهدف سهولة تبادل البيانات بين هذه اللغات.
صيغة جيسون تمثل عن طريق نص، والبنية لهذا النص تشبه الكائن أو Object في لغة البرمجة جافاسكربت, وهذه الصيغة مدعومة من لغات البرمجة الأساسية الأخرى وتستخدم هذه الصيغة بشكل كبير لتبادل البيانات بين الخادم والعميل Client-Server.
كيفية تمثيل البيانات عن طريق
الجزءان الأساسيان اللذان يشكلان JSON هما المفاتيح Keys والقيم Values.
-
المفتاح Key : يمثل اسم فريد لقيمة البيانات ويتم وضعه عادة بين علامات التنصيص
-
القيمة Value : تمثل البيانات ويمكن أن تمثل اكثر من نوع بيانات مثل النصوص والأرقام والمصفوفات.
معًا يشكل Key / Value سطر في صيغة جيسون حيث يتم استخدام علامة , كفاصل بين السطور.
أنواع البيانات للقيم في JSON
-
Array المصفوفة: مجموعة من القيم المترابطة على سبيل المثال: رواتب الموظفين ويتم تمثيلها كالتالي [2000, 5000,6000].
-
Boolean قيمة منطقية: ولها احتمالان True او False.
-
Number رقم: تكون القيمة عبارة عدد صحيحا أو حقيقيا أو فواصل عشرية.
-
Object لكائن: مجموعة مترابطة من أزواج من المفاتيح / القيم Key / Value.
-
String السلسلة النصية: مجموعة من الأحرف النصية العادية تشكل عادة كلمة.
مثال على صيغة JSON
لماذا نستخدم جيسون JSON
لفهم فائدة وأهمية JSON ، يجب أن نفهم قليلاً كيف تطور عرض صفحات الويب.
في أوائل عام 2000 ، بدأ التفاعل بين العميل والخادم في التحول بشكل كبير.، حيث كان المتصفح يعمل بشكل أساسي لعرض المعلومات بشكل بسيط، وكان الخادم يقوم بكل العمل الشاق لإعداد المحتوى للعرض بالطريقة المطلوبة. فعندما ينقر المستخدم على رابط أو زر في المتصفح ، سيتم إرسال طلب إلى الخادم ، حيث يقوم الخادم بإعداد المعلومات المطلوبة على هيئة HTML ، وسيقوم المتصفح بعرض HTML كصفحة جديدة. كان هذا النمط بطيئًا وغير فعال ، حيث يتطلب من المتصفح إعادة تحميل وإعداد كل شيء على الصفحة حتى لو لم يتم تغيير سوى جزء بسيط من الصفحة.
كان إعادة تحميل الصفحة بالكامل مضيعة للوقت ولموارد الخادم ، بحث مطورو الويب عن تقنيات أحدث لتحسين تجربة المستخدم بشكل عام. فأثبتت القدرة على إرسال طلبات الويب إلى الخادم في الخلفية أثناء عرض الصفحة ، والتي تم تقديمها في Internet Explorer 5 ، وترجع فائدة تقديم الطلبات في الخلفية إلى عدم إعادة تحميل الصفحة كاملة لتغير جزء معين في الصفحة. على سبيل المثال عند الضغط على رابط معين يتم تحميل بيانات في الخلفية دون إعادة تحميل الصفحة وبالتالي يتم التعامل مع البيانات على المتصفح من قبل لغة Javascript التي تعمل على المتصفح.
في الأساس كان يتم نقل البيانات بتنسيق XML ولكن XML كانت طويلة وصعبة في التعامل في لغة جافا سكريبت. كانت JavaScript تحتوي بالفعل على مفهوم الكائنات أو Objects ، وهي طريقة للتعبير عن البيانات داخل اللغة ، لذلك أخذ Douglas Crockford مجموعة فرعية من هذا التعبير كمواصفات لتنسيق تبادل البيانات الجديد الذي أطلق عليه اسم JSON. كان JSON أسهل في القراءة بكثير بالنسبة للأشخاص وحتى بالنسبة لتحليل المتصفحات. وسرعان ما بدأ مطورو الويب يفضلون JSON عنXML.
من الأمثلة الأخرى لاستخدام JSON هو التعامل مع API معين من خلال تطبيق أو من خلال موقع إلكتروني حيث يتم استقبال خرج API عن صورة جيسون ومثال على ذلك API ياهوو الخاص بالطقس حيث يكون الخرج على شكل جيسون ويمكنك مشاهدة مثال على موقع ياهوو هنا
JSON و XML
كما ذكرنا من قبل فإن JSON في الأساس كان بديلا ل XML. فقد أصبحت لغة XML أقل شيوعًا في الأنظمة الجديدة ومن السهل تخمين السبب. انظر في ما يلي مثال على استخدام XML
بالإضافة إلى كون الصيغة اكثر طولًا وتعقيدًا من JSON فهنالك سبب أخر لكون JSON افضل من XML وهو صعوبة تحويل XML الى كائن جافاسكربت - بحيث يتم التعامل مع البيانات عن طريق الجافاسكربت-
مثال على جيسون فى لغة جافاسكربت
كما ذكرنا فان صيغة جيسون مدعومة من الكثير من لغات البرمجة الأساسية حيث توجد فيها دوال تقوم بتحليل وإنشاء الصيغة بطريقة بسيطة.
من التطبيقات الشهيرة لاستخدام جيسون كما ذكرنا هو استلام بيانات من الخادم ومحاولة عرضها على المتصفح ومثالنا التاليعلى طريقة تحويل النص القادم من الخادم إلى كائن جافاسكربت وعرضه في صفحة الويب :
اقرأ أيضا:
المصادر
-
https://www.copterlabs.com/json-what-it-is-how-it-works-how-to-use-it
-
https://developers.squarespace.com/what-is-json https://ar.wikipedia.org/wiki/%D8%AC%D8%B3%D9%88%D9%86
كتب هذا المقال عمر العربي من موقع مطور.