برنامج تعليمي حول JSON: تعلم من خلال مثال بسيط

⚡ ملخص ذكي

JSON، اختصار لـ Javaتدوين كائنات البرمجة النصية (Script Object Notation) هو تنسيق خفيف الوزن وسهل القراءة لتخزين وتبادل البيانات المنظمة بين الخوادم والتطبيقات. يشرح هذا المورد تركيبه النحوي، وأنواع بياناته، وتطبيقاته العملية، والاختلافات التي تميزه عن لغة XML.

  • 🔑 التعريف الأساسي: يخزن JSON المعلومات على شكل أزواج اسم/قيمة ومصفوفات مرتبة، باستخدام الأقواس المعقوفة للكائنات والأقواس المربعة للمصفوفات.
  • 🧩 أنواع البيانات المدعومة: أتقن أنواع بيانات JSON الستة - السلسلة، والرقم، والقيمة المنطقية، والقيمة الفارغة، والكائن، والمصفوفة - لنمذجة أي بنية تقريبًا.
  • لماذا تتبناه الفرق؟ يتم تحليل JSON بشكل أصلي في Javaيعمل هذا البرنامج النصي عبر جميع المتصفحات، ويتكامل مع معظم تقنيات الواجهة الخلفية وواجهات برمجة تطبيقات REST.
  • 🔄 مقارنة بين JSON و XML: بالمقارنة مع XML، فإن JSON مكتوبة، وأكثر قابلية للقراءة البشرية، وأسرع في التسلسل، على الرغم من أنها تفتقر إلى إمكانيات عرض الترميز.
  • 🛠️ الأدوات العملية: قم بالتحقق من صحة التعليمات البرمجية وتنسيقها وتصغيرها باستخدام أدوات مثل JSONLint وJSON Editor Online وJSON Formatter قبل النشر.

برنامج JSON التعليمي

ما هو JSON؟

JSON هو تنسيق ملف يستخدم لتخزين المعلومات بطريقة منظمة وسهلة الوصول إليها. شكله الكامل هو Javaتدوين كائنات البرنامج النصي. يوفر مجموعة من البيانات التي يمكن قراءتها بواسطة الإنسان والتي يمكن الوصول إليها منطقيًا. امتداد اسم الملف الخاص به لرمز البرمجة المكتوبة هو .json. نوع وسائط الإنترنت لـ JSON هو application/json، ومعرف النوع الموحد الخاص به هو public.json.

والآن بعد أن أصبح التعريف واضحاً، يشرح القسم التالي سبب اختيار المطورين لـ JSON بدلاً من تنسيقات البيانات الأخرى.

لماذا استخدام جسون؟

فيما يلي الفوائد/الإيجابيات المهمة لاستخدام JSON:

  • تقديم الدعم لجميع المتصفحات
  • سهلة القراءة والكتابة
  • بناء جملة واضح
  • يمكنك التحليل أصلاً Javaنص برمجي باستخدام دالة eval()
  • من السهل إنشاء والتلاعب
  • بدعم من جميع الكبرى Javaأطر النصوص
  • مدعومة بمعظم التقنيات الخلفية
  • يتم التعرف على JSON أصلاً بواسطة Javaسيناريو
  • انها تسمح لك transmit وتسلسل البيانات المهيكلة باستخدام اتصال الشبكة.
  • يمكنك استخدامه مع لغات البرمجة الحديثة.
  • JSON هو نص يمكن تحويله إلى أي كائن Javaقم بتحويل النص إلى JSON وأرسل هذا JSON إلى الخادم.

تاريخ جيسون

تاريخ جيسون
برنامج JSON التعليمي

فيما يلي المعالم المهمة التي تشكل تاريخ JSON:

  • حدد دوغلاس كروكفورد تنسيق JSON في أوائل العقد الأول من القرن الحادي والعشرين.
  • تم إطلاق الموقع الرسمي في عام 2002.
  • في ديسمبر 2005، قامت شركة ياهو! تبدأ في تقديم بعض خدمات الويب الخاصة بها بتنسيق JSON.
  • أصبح JSON معيارًا دوليًا لـ ECMA في عام 2013.
  • تم نشر أحدث معايير تنسيق JSON في عام 2017.

وبعيدًا عن هذا الإطار الزمني، يقدم JSON أيضًا مجموعة من الميزات العملية التي تفسر شعبيته الدائمة.

مميزات جيسون

سهل الاستخدام - توفر JSON API واجهة عالية المستوى، مما يساعدك على تبسيط حالات الاستخدام الشائعة الاستخدام.

هاملت - JSON سريع جدًا لأنه يستهلك مساحة ذاكرة أقل جدًا، وهو مناسب بشكل خاص للرسوم البيانية أو الأنظمة ذات الكائنات الكبيرة.

أداة مجانية – مكتبة JSON مفتوحة المصدر ومجانية الاستخدام.

لا يتطلب إنشاء خريطةping – توفر واجهة برمجة تطبيقات جاكسون خريطة افتراضيةping لتسلسل العديد من الكائنات.

تنظيف JSON - إنشاء نتيجة JSON نظيفة ومتوافقة وسهلة القراءة.

التبعية – مكتبة JSON لا تحتاج إلى أي مكتبة أخرى للمعالجة.

قواعد بناء جملة JSON

قواعد بناء جملة JSON هي:

  • يجب أن تكون البيانات في أزواج الاسم/القيمة
  • يجب فصل البيانات بفواصل
  • يجب أن تحمل الأقواس المتعرجة الأشياء
  • الأقواس المربعة تحمل المصفوفات

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

بعد تحديد قواعد بناء الجملة، يسرد الجدول التالي أنواع البيانات المهمة المستخدمة في JSON:

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

رقم الهاتف

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

يعرض الجدول التالي أنواع الأرقام:

النوع الوصف
عدد صحيح الأرقام من 1 إلى 9 و 0. أرقام موجبة وسالبة.
جزء الكسور مثل 3
الأس الأس مثل e، e+

بناء الجملة:

var json-object-name = { string : number_value,......}

على سبيل المثال:

var obj = {salary: 2600}

خيط

هي سلسلة من أحرف يونيكود المزدوجة المقتبسة، وتحتوي على شرطة مائلة عكسية (\).ping.

يوضح الجدول التالي أنواعًا مختلفة من السلاسل:

النوع الوصف
* استخدم للعلامات المزدوجة، شكرًاping
/ استخدام ل سوليدوس
\ استخدم للصلب العكسي
B استخدم لإضافة مسافة للخلف
F من الأعلاف
N لإنشاء خط جديد
R استخدم لإرجاع النقل
T لإظهار علامة التبويب الأفقية
U أرقام سداسية عشرية

بناء الجملة:

var json-object-name = { string : "string value",…..}

على سبيل المثال:

var obj = {name: 'Andy'}

منطقية

يقوم بتخزين القيم الصحيحة أو الخاطئة فقط.

بناء الجملة:

var json-object-name = {string : true/false, …..}

على سبيل المثال:

var obj = {active: 'true'}

مجموعة

  • إنها مجموعة مرتبة من القيم.
  • يجب عليك استخدام مصفوفة عندما تكون أسماء المفاتيح عبارة عن أعداد صحيحة متسلسلة.
  • يجب أن يكون محصورًا بين قوسين مربعين مفصولين بـ , (فاصلة)

بناء الجملة:

[value, .......]

على سبيل المثال:

إظهار مصفوفة تخزن كائنات متعددة:

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

كائن JSON

A كائن JSON هو كيان بتنسيق JSON محاط بأقواس متعرجة. وهو مكتوب في مجموعة غير مرتبة من أزواج الاسم والقيمة حيث يجب أن يتبع الاسم ":" (نقطة)، ويجب فصل أزواج الاسم/القيمة باستخدام "," (فاصلة). ويمكن استخدامه عندما تكون أسماء المفاتيح عبارة عن سلاسل عشوائية.

بناء الجملة:

{ string :  value, ….. }

على سبيل المثال:

{
"id": 110,
"language": "Python",
"price": 1900,
}

بيضاء

يمكنك إدراج مسافة بيضاء بين زوج من الرموز المميزة.

على سبيل المثال:

بناء الجملة:

{string:"    ",….}

على سبيل المثال:

var a = " Alex"; var b = "Steve";

مثال على JSON

يحدد مثال التعليمات البرمجية المحدد كيفية استخدام JSON لتخزين المعلومات المتعلقة بـ كتب البرمجة مع الطبعة واسم المؤلف.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}

دعونا نفهم تنسيق JSON مع مثال آخر لملف JSON. هنا، يحدد JSON الاسم الأول واسم العائلة ومعرف الطالب.

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

تطبيق جيسون

فيما يلي بعض التطبيقات الشائعة لـ JSON:

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

نظراً لتطبيق JSON على نطاق واسع، فإنه غالباً ما تتم مقارنته بـ XML، وهو التنسيق الذي يحل محله بشكل متكرر.

JSON مقابل XML

هذا هو الفرق الرئيسي بين JSON وXML

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

مثال JSON

فيما يلي مثال JSON بسيط:

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

مثال XML

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

ما هو JSON ليس؟

  • نموذج ملف بيانات JSON ليس تنسيق مستند.
  • إنها ليست لغة ترميزية.
  • لا يوفر JSON تنسيقًا تسلسليًا عامًا.
  • إنها ليست هياكل متكررة أو دورية.
  • كما أنها ليست بنية غير مرئية.

عيوب JSON

فيما يلي بعض مزايا JSON:

  • لا يوجد دعم لمساحة الاسم، وبالتالي ضعف القابلية للتوسعة
  • محدود ادوات التطوير تقنية
  • لا يوجد دعم للتعريف النحوي الرسمي

أدوات JSON الشائعة (الوظائف الإضافية)

فيما يلي أدوات JSON المهمة:

جسونلينت:

JSONLint هو مشروع مفتوح المصدر يُستخدم للتحقق من صحة بيانات JSON وإعادة تنسيقها. وهو تنسيق خفيف الوزن لتبادل البيانات. يمكنك نسخ البيانات ولصقها، أو كتابتها مباشرةً، أو إدخالها. URL في أداة التحقق من صحة JSON للتحقق من صحة كود JSON الخاص بك.

الرابط: https://jsonlint.com

محرر JSON عبر الإنترنت:

يعد JSON Editor Online أداة مفيدة تعتمد على الويب. يسمح لك بتحرير وعرض وتنسيق JSON. يعرض بياناتك جنبًا إلى جنب بشكل واضح وقابل للتحرير برنامج محرر التعليمات البرمجية.

الرابط: https://jsoneditoronline.org/

أداة تصغير JSON:

إنها أداة تساعدك على إزالة المسافات البيضاء وتعطي رمز JSON الذي يشغل أقل مساحة.

الرابط: https://www.browserling.com/tools/json-minify

محول JSON إلى XML:

يعد محول JSON إلى XML أداة بسيطة وفعالة تساعدك على تحويل كود JSON الخاص بك.

الرابط: https://codebeautify.org/jsontoxml

منسق JSON:

يساعدك منسق JSON على حل المشكلة عن طريق تنسيق بيانات JSON بحيث يسهل على الإنسان قراءتها وتصحيح أخطائها.

الرابط: https://jsonformatter.curiousconcept.com/

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

لا، JSON هو تنسيق لتبادل البيانات، وليس لغة برمجة. فهو يخزن وينقل البيانات المهيكلة فقط باستخدام بنية نصية. أما لغات البرمجة مثل Javaنص, Pythonو Java قراءة وكتابة بيانات JSON.

يُعدّ JSON نصًا عاديًا وآمنًا. تظهر المخاطر عند تحليل مدخلات غير موثوقة، خاصةً باستخدام دالة eval() القديمة. استخدم محلل JSON قياسيًا، مثل JSON.parse()، وتحقق من صحة البيانات لتجنب مشاكل حقن الثغرات.

JSON هو تنسيق نصي يُستخدم لتخزين و transmit البيانات. كائن JSON هو بنية واحدة ضمن هذا التنسيق، مكتوبة بين قوسين معقوفين على شكل أزواج اسم/قيمة. قد يحتوي ملف JSON كامل على العديد من الكائنات والمصفوفات.

تستخدم أنظمة الذكاء الاصطناعي صيغة JSON لإرسال المطالبات، واستقبال الردود، وتبادل معلمات النموذج. تقبل معظم واجهات برمجة تطبيقات نماذج اللغة الكبيرة صيغة JSON وتعيدها، مما يجعلها الصيغة القياسية للطلبات، والمخرجات المنظمة، وتكوين بيانات التدريب.

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

تلخيص هذه التدوينة بـ: