What Is JSON?

Jeffrey Erickson | Content Strategist | April 4, 2024

في تطوير تطبيقات الويب والأجهزة المحمولة، يسود تنسيق بيانات متعدد الاستخدامات أعلى: JavaScript Object Notation، والمعروفة باسم JSON. JSON هو تنسيق تبادل بيانات خفيف الوزن يوفر طريقة موحدة وفعالة للأنظمة المختلفة لتبادل البيانات. بفضل بساطته ومرونته وتوافقه مع لغات البرمجة الشائعة، أصبح JSON تقنية أساسية لبناء تطبيقات الويب ويتمتع بدعم مجتمع المطورين الشغوفين.

إليك ما تحتاج إلى معرفته عن JSON.

ما المقصود من JSON‏ (JavaScript Object Notation)؟

JSON‏ ‏(JavaScript Object Notation) هو تنسيق قائم على النص لتخزين البيانات وتبادلها بطريقة قابلة للقراءة بواسطة الإنسان وقابلة للتحليل الآلي. نتيجة لذلك، من السهل نسبيًا تعلم JSON واستكشاف أخطائه وإصلاحها. على الرغم من أن JSON له جذوره في JavaScript، إلا أنه تطور إلى تنسيق بيانات قادر للغاية على تبسيط تبادل البيانات عبر الأنظمة الأساسية المتنوعة ولغات البرمجة. إذا كنت تشارك في تطوير الويب أو تحليل البيانات أو هندسة البرامج، فإن JSON هو تنسيق بيانات مهم لفهمه.

النقاط الرئيسة

  • JSON هو تنسيق بيانات شائع غالبًا ما يستخدمه مطورو الويب لنقل البيانات بين الخادم وتطبيق الويب.
  • نظرًا لأن JSON قائم على النصوص، فإنه سهل القراءة من قبل البشر ويفهمه الكمبيوتر.
  • تجعل طبيعة JSON المستقلة عن اللغة شكلاً مثاليًا لتبادل البيانات عبر لغات البرمجة والأنظمة الأساسية المختلفة.
  • ظهرت العديد من قواعد البيانات لتخزين البيانات وتبادلها في JSON.

شرح JSON

JSON هو تنسيق بيانات يشيع استخدامه من قبل مطوري الويب لنقل البيانات بين الخادم وتطبيق الويب. يفضل المطورون JSON أغلب الوقت لأنه يبسط تبادل البيانات بين التقنيات المختلفة. فعلى سبيل المثال، عندما يتفاعل مستخدم مع تطبيق ويب لإجراء عملية شراء، يرسل التطبيق مدخلات المستخدم إلى الخادم بتنسيق JSON. يعالج الخادم البيانات ويرسل استجابة مرة أخرى، أيضًا بتنسيق JSON، والتي تقدَّم بعد ذلك بواسطة تطبيق الويب. ويسمح هذا بتبادل البيانات بسلاسة بين العميل والخادم، ما يسهل تجارب الويب السريعة والديناميكية والتفاعلية.

ما أسباب استخدام JSON؟

تجعل طبيعة JSON المستقلة عن اللغة منه شكلاً مثاليًا لتبادل البيانات عبر لغات البرمجة والأنظمة الأساسية المختلفة. وعلى سبيل المثال، يمكن لتطبيق مكتوب بلغة Java إرسال بيانات JSON بسهولة إلى تطبيق Python. أو يمكن لتطبيق محمول مكتوب في JavaScript استخدام JSON للتواصل مع خادم خلفي مكتوب في PHP. لماذا؟ لأن كلا النظامين يمكنهما تحليل JSON وإنشاؤه.

بالإضافة إلى تطوير الويب، غالبًا ما يتم استخدام JSON داخل تطبيق أو نظام تكنولوجيا معلومات لتخزين إعدادات التكوين وإدارتها. وعلى سبيل المثال، يمكن أن تحتوي ملفات التكوين المكتوبة بتنسيق JSON على معلومات أساسية مثل تفاصيل اتصال قاعدة البيانات أو مفاتيح واجهة برمجة التطبيقات أو تفضيلات المستخدم. ومن خلال تخزين بيانات التكوين في ملفات JSON البسيطة وسهلة القراءة وسهلة التحليل، يمكن للمطورين تعديل إعدادات التطبيق من دون الحاجة إلى القيام بتغييرات في التعليمات البرمجية.

لماذا يحظى JSON بشعبية لدى المطورين؟

يحظى JSON بشعبية لدى المطورين لأنه تنسيق مرن لتبادل البيانات يتمتع بدعم واسع في لغات البرمجة الحديثة وأنظمة البرامج. وهو يستند إلى النص وخفيف الوزن ويحتوي على تنسيق بيانات سهل التحليل، ما يعني أنه لا يحتاج إلى أي تعليمات برمجية إضافية لفهم البيانات المقدمة وتفسيرها.

اكتسبت شركة JSON الزخم في برمجة واجهة برمجة التطبيقات وخدمات الويب لأنها توفر تبادلاً أسرع للبيانات ونتائج خدمة الويب. كما أنه يساعد المطورين على الوصول الجاهز إلى قواعد بيانات المستندات مفتوحة المصدر وNoSQL مثل MongoDB وغيرها، التي تخزن البيانات بتنسيق JSON، ولا تحتاج إلى معالجة إضافية عند تبادل البيانات. يمكن لقواعد البيانات الارتباطية الشائعة الآن التعامل مع JSON كصيغة أصلية، ما يفتح المزيد من التطبيقات لميزات JSON.

JSON مقابل HTML مقابل XML

ثمة عدد من التنسيقات لتخزين البيانات ونقلها على الويب. الثلاثة خيارات الشائعة هي JSON وXML وHTML. JSON وXML هما تنسيقان يستخدمان لتخزين البيانات ونقلها، ولكل منهما نقاط قوة مختلفة. وHTML هي لغة تستخدم لإنشاء بنية صفحة ويب، وغالبًا ما تُستخدم جنبًا إلى جنب مع تنسيقات تخزين البيانات هذه.

الفروق الرئيسية

  • يشيع استخدام JSON (JavaScript Object Notation) لتخزين البيانات ونقلها. يُعدُّ JSON خيارًا شائعًا للتطبيقات التي تستفيد من تنسيق بيانات بسيط وسهل الاستخدام.
  • XML (لغة الترميز القابلة للامتداد) هي لغة ترميز عامة الغرض مشابهة لـ JSON تسمح بهياكل بيانات أكثر تعقيدًا.
  • يتم استخدام HTML (لغة ترميز النص التشعبي) لتكوين هيكل ومحتوى صفحات الويب. سترى غالبًا أنها مستخدمة مع لغات أخرى مثل CSS (صفحات التنسيق النمطية) وJavaScript، لتوحيد نمط موقع الويب وإضافة ميزة تفاعلية إلى صفحاته.

أنواع بيانات JSON

في سياق التطوير، تُعدُّ أنواع البيانات أنواعًا مختلفة من القيم التي يمكن تخزينها ومعالجتها بلغة برمجة. ولكل نوع بيانات مجموعة السمات والسلوكيات الخاصة به. ويدعم JSON العديد من أنواع البيانات، بما في ذلك ما يلي:

  1. الوحدات. نوع بيانات عناصر JSON عبارة عن مجموعة من أزواج الاسم أو القيمة المدرجة بين {} (الأقواس المتعرجة). يجب أن تكون المفاتيح عبارة عن سلاسل مفصولة بفاصلة ويجب أن تكون فريدة.
  2. الصفائف. نوع بيانات المصفوفة هو مجموعة مرتبة من القيَم. وفي JSON، يجب أن تكون قيم الصفيف من النوع سلسلة أو رقم أو وحدة أو صفيف أو قيمة منطقية أو ملغاة.
  3. السلاسل. في JSON، يتم وضع السلاسل بين علامتي اقتباس مزدوجتين، ويمكن أن تحتوي على أي حرف Unicode، وتُستخدم عادةً لتخزين البيانات المستندة إلى النص ونقلها مثل الأسماء أو العناوين أو الأوصاف.
  4. منطقي. يتم تحديد القيم المنطقية على أنها صحيحة أو خاطئة. القيم المنطقية ليست محاطة بعلامات اقتباس ويتم التعامل معها كقيم سلسلة.
  5. Null. وتمثل القيمة الخالية قيمة تم تركها فارغة عن قصد. عندما لا يتم تعيين أي قيمة لمفتاح، يمكن معاملته على أنه فارغ.
  6. الرقم. تُستخدَم الأرقام لتخزين القيم الرقمية لأغراض متعددة، مثل العمليات الحسابية أو المقارنات أو تحليل البيانات. ويدعم JSON الأرقام الموجبة والسالبة بالإضافة إلى النقاط العشرية. ويدعم رقم JSON صيغة النقطة العائمة مزدوجة الدقة في JavaScript.

مثال على JSON

يعمل JSON من خلال تمثيل البيانات بطريقة هرمية، باستخدام أزواج القيمة-المفتاح لتخزين المعلومات. توضع بيانات JSON بين أقواس متعرجة ({})، مع فصل كل زوج من قيم المفاتيح بفاصلة (،). على سبيل المثال، يمثل JSON التالي معلومات الاتصال الخاصة بالشخص:



```
{
"name": "Jane Smith",
"age": 35,
"city": "San Francisco",
"phone": "014158889275",
"email": "janesmith@sample.com"
}
```
   

في هذا المثال، "الاسم" و"العمر" و"المدينة" و"الهاتف" و"البريد الإلكتروني" هي المفاتيح، و"Jane Smith" و"35" و"سان فرانسيسكو" و"014158889275" و"janesmith@sample.com" هي القيم المقابلة.

أبرز 5 حالات استخدام لـ JSON

يحظى JSON بشعبية ويستخدمه المطورون على نطاق واسع، بما في ذلك أولئك الذين يعملون مع مجموعات مثل MERN، والتي تضم MongoDB وExpress وReact وNode.js وMEAN، التي تقع في Angular for React.

  1. نقل البيانات بين الأنظمة. يُعدُّ JSON مثاليًا لنقل البيانات بين الأنظمة المختلفة ولغات البرمجة. وعلى سبيل المثال، هيا نفترض أن قاعدة بيانات موقع الويب تحتوي على عنوان بريدي للعميل، ولكن يجب التحقق منه عبر واجهة برمجة التطبيقات للتأكد من صحته. يمكن للشركة إرسال بيانات العنوان بتنسيق JSON الذي تم تخزينه بالفعل مباشرة إلى واجهة برمجة تطبيقات خدمة التحقق من العنوان.
  2. إنشاء كائن JSON من البيانات التي أنشأها المستخدم. يُعدُّ JSON مثاليًا لتخزين البيانات المؤقتة. فعلى سبيل المثال، يمكن إنشاء البيانات المؤقتة بواسطة المستخدم مثل نموذج مقدم على موقع ويب. ويمكن أيضًا استخدام JSON كبيانات تسلسل.
  3. تكوين البيانات للتطبيقات. عند تطوير التطبيقات، يحتاج كل تطبيق إلى الصلاحيات للاتصال بقاعدة بيانات بالإضافة إلى مسار ملف سجل. ويمكن تحديد الصلاحيات ومسار ملف السجل في ملف JSON لقراءة جميع الأنظمة المعنية واستخدامها بسهولة.
  4. تبسيط نماذج البيانات المعقدة. يعمل تنسيق JSON على تبسيط المستندات المعقدة وصولاً إلى المكونات المحددة على أنها ذات معنى وتحويل عملية استخراج البيانات إلى ملف JSON يمكن التنبؤ به ويمكن للبشر قراءته.
  5. ملفات التكوين وتخزين البيانات. يتيح JSON معالجة البيانات واسترجاعها بسهولة. على وجه التحديد، يدعم البنى المتداخلة، ما يسهل تخزين البيانات المعقدة والهرمية. كما يدعم JSON أيضًا الصفائف، ما يجعله مناسبًا لتخزين مثيلات متعددة من البيانات المتشابهة.

ما هي قاعدة بيانات مستندات JSON؟

أثارت شعبية JSON بين المطورين عددًا من قواعد البيانات عالية الإمكانات المخصصة لتنسيق البيانات، بما في ذلك قواعد بيانات SQL وNoSQL.

تخزن NoSQL قواعد بيانات المستندات البيانات مباشرة بتنسيق JSON من دون الحاجة إلى معالجة إضافية. وتدعم قواعد بيانات NoSQL الشائعة مثل MongoDB وRedis وCouchbase أيضًا التداخل ومراجع الكائنات والصفائف، ما يجعل قاعدة بيانات JSON أسهل من حيث الصيانة. وفي السنوات الأخيرة، تطورت قواعد بيانات NoSQL هذه لتقديم مزايا مثل المخططات المرنة وتحسين التوسع والأداء. وبفضل دعمها لبنى البيانات المرنة والديناميكية، تتفوق قواعد البيانات هذه في تخزين البيانات شبه المنظمة مثل المستندات النصية أو الصور أو موجزات الوسائط الاجتماعية.

توفر قواعد بيانات SQL المستخدمة على نطاق واسع، مثل ‏Oracle Database‏، الآن JSON كنوع من البيانات، ما يسمح للمطورين بالعمل مع JSON من دون الحاجة إلى إضافة قاعدة بيانات JSON متخصصة إلى مشروعاتهم. ويمنح هذا فرق التطوير المزايا الراسخة لـ SQL بالإضافة إلى القدرة على العمل مع أنواع البيانات الأخرى في قاعدة بيانات واحدة، بما في ذلك بيانات المخططات والبيانات المكانية وبيانات REST وقاعدة تقنية البلوك تشين والبيانات الارتباطية.

ابدأ الآن استخدام Oracle Autonomous JSON Database مجانًا

قد يرغب أولئك الذين يتطلعون إلى استخدام JSON لإدارة بياناتهم في التفكير في Oracle Autonomous JSON Database‏، وهي خدمة قاعدة بيانات مستندات كاملة الميزات قائمة على السحابة تعمل على تبسيط عملية تطوير التطبيقات التي ترتكز على صيغة JSON. وتوفر Oracle Autonomous JSON Database أيضًا مجموعة واسعة من ميزات قاعدة البيانات المتطورة، بما في ذلك واجهات برمجة تطبيقات المستندات على نمط NoSQL عبر Oracle SODA وOracle Database API لـ MongoDB والتوسع بدون خادم ومعاملات ACID عالية الأداء والأمان الشامل، مع تسعير منخفض الدفع لكل استخدام.

توفر Oracle أيضًا خدمة قاعدة بيانات سهلة الاستخدام تعمل على التشغيل التلقائي لإدارة قاعدة البيانات، بما في ذلك إمكانات توفير قواعد البيانات وتكوينها وضبطها وتوسيعها وتصحيحها وتشفيرها وإصلاحها. ويمكنك البدء الآن في استخدام Oracle Autonomous JSON Database مجانًا والاستفادة من العديد من الميزات المفيدة.

أصبح JSON تنسيق بيانات بسيطًا ومتعدد الاستخدامات وفي كل مكان عبر العديد من المجالات، بما في ذلك تطوير الويب وتبادل البيانات وإدارة التكوين ونقل البيانات. وأدى اعتمادها ودعمها على نطاق واسع بين لغات البرمجة الأكثر شعبية إلى تعزيز موقف JSON باعتباره حجر الأساس في تبادل البيانات الحديثة والاتصالات.

Oracle Autonomous JSON Database هي خدمة قاعدة بيانات مستندات سحابية تعمل على تبسيط عمليات تطوير التطبيقات التي ترتكز على صيغة JSON.

الأسئلة الشائعة عن JSON

هل JSON ملف أم تعليمة برمجية؟

JSON ليس ملفًا ولا تعليمة برمجية. فبدلاً من ذلك، هو تنسيق بسيط يُستخدَم لتخزين البيانات ونقلها. وهو تنسيق نص عادي، ويسمح بسهولة تبادل البيانات بين لغات البرمجة المختلفة. ويُستخدَم JSON غالبًا لإرسال البيانات بين تطبيقات الويب والخوادم.

هل JSON لغة برمجة؟

JSON ليس لغة برمجة. وهو بالأحرى تنسيق تبادل بيانات خفيف الوزن. وعلى الرغم من أنه تم اشتقاقه من JavaScript، إلا أن JSON نفسه لا يدعم الوظائف بالطريقة التي تستخدمها لغة البرمجة الحقيقية. ويُستخدَم JSON ببساطة لتخزين البيانات ونقلها بين خادم وتطبيق ويب أو بين أنظمة مختلفة.

هل JSON أفضل من XML؟

في حين أن JSON وXML يستخدمان من قبل المطورين لتخزين البيانات ونقلها بين الأنظمة، إلا أنهما يستخدمان بشكل عام في ظروف مختلفة. XML (لغة الترميز القابلة للامتداد) هي لغة ترميز عامة الغرض تسمح بإنشاء بنى بيانات معقدة وهرمية، في حين أن طبيعة JSON الخفيفة والصغيرة تجعلها خيارًا أفضل لنقل البيانات عبر الشبكات - خاصة في التطبيقات التي يكون فيها عرض النطاق الترددي محدودًا أو تكون سرعة نقل البيانات أمرًا بالغ الأهمية.