دليل مخطط JSON

مخطط JSON

قبل الانتقال إلى مخطط JSON ، من المهم معرفة الفرق بين مخطط JSON و JSON.

JSON

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

مخطط JSON

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

هناك ثلاثة أقسام رئيسية لمواصفات مخطط JSON:

مخطط JSON المفرط:

JSON Hyper-Schema هي لغة مخطط JSON يمكن استخدامها لتسمية مستندات JSON بالارتباطات التشعبية والإرشادات لمعالجة موارد JSON الخارجية وتغييرها عبر البيئات المستندة إلى النص مثل HTTP. انقر هنا لمعرفة المزيد حول JSON Hyper-Schema.

جوهر مخطط JSON:

إنها مجموعة من القواعد لتمييز مستندات JSON والتحقق منها. 

جوهر مخطط JSON:

  • يصف تنسيق البيانات الموجود لديك حاليًا. 
  • يتحقق من صحة البيانات التي يمكن استخدامها في الاختبار الآلي. 
  • التأكد من دقة البيانات المقدمة من العملاء.  
  • يوفر وثائق يمكن قراءتها لكل من البشر والآلات. 

التحقق من مخطط JSON:

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

أداة Newtonsoft's JSON Schema Validator هي أداة يمكنك استخدامها مباشرة في متصفحك ، مجانًا. يمكنك استخدام هذه الأداة لاختبار بنية مخطط JSON الخاص بك. تحتوي هذه الصفحة على عناصر تحكم وشروحات لتبدأ بها. بهذه الطريقة ، من السهل معرفة كيفية تحسين بنية JSON.

يمكننا التحقق من كائن JSON باستخدام أداة التحقق من مخطط JSON:

خالٍ من الأخطاء في المدقق JSON

لدينا التحقق من العمر (الحد الأدنى = 20 والحد الأقصى = 40) كما هو موضح في الشكل أعلاه. لم يتم العثور على أخطاء.

مدقق JSON مع وجود خطأ

يظهر خطأ إذا تم إدخال التحقق من العمر بشكل غير صحيح.

إنشاء مخطط JSON

لنلقِ نظرة على مثال لمخطط JSON لمعرفة ما نتحدث عنه. كائن JSON الأساسي الذي يصف كتالوج المنتج هو كما يلي:

مثال JSON

يمكن كتابة مخطط JSON الخاص به على النحو التالي:

نتيجة مخطط JSON

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

دعنا نلقي نظرة فاحصة على الكلمات الرئيسية التي استخدمناها في مثالنا: 

يتم كتابة مخطط JSON الذي يتوافق معه مخطط المورد بواسطة هذه السمة. تمت كتابة هذا المخطط وفقًا لمعيار المسودات الإصدار 4 ، كما هو محدد بواسطة "مخطط $"الكلمة الرئيسية. هذا يمنع مخططك من الرجوع إلى الإصدار الحالي ، والذي قد يكون متوافقًا مع الأقدم وقد لا يكون كذلك.

في "لقب"و"وصف"الكلمات الرئيسية تفسيرية فقط ؛ لا يفرضون أي قيود على البيانات التي يتم فحصها. تصف هاتان الكلمتان الأساسيتان الغرض من المخطط: فهو يصف منتجًا.

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

 

مخطط JSON مدعوم من المكتبات التالية:

 

اللغة

المكتبة

C

WJElement

بايثون

jschon

PHP

هذا الوصف ل مخطط Json

جافا سكريبت

com.ajv

Go

com.gojsonschema

كوتلن

ميديا ​​المدقق

روبي

JSONSchemer

JSON (بناء الجملة)

دعنا نلقي نظرة سريعة على البنية الأساسية لـ JSON. صيغة JSON هي مجموعة فرعية من بناء جملة JavaScript تتضمن العناصر التالية:

  • يتم استخدام أزواج الاسم / القيمة التي تمثل البيانات.
  • يتم تثبيت الكائنات في أقواس معقوفة ، ويشار إلى كل اسم بعلامة ":" (نقطتان) ، مع فصل أزواج القيم بعلامة "،" (فاصلة).
  • يتم فصل القيم بعلامة "،" (فاصلة) ويتم وضع المصفوفات بين قوسين مربعين.
مثال على بناء جملة JSON

يتم دعم بنيتي البيانات التاليتين بواسطة JSON:

  • قائمة القيم المرتبة: يمكن أن تكون مصفوفة أو قائمة أو متجه.
  • مجموعة أزواج الاسم / القيمة: تدعم لغات الكمبيوتر المختلفة بنية البيانات هذه.

 

JSON (كائن)

مخطط JSON هو كائن JSON يحدد نوع وبنية كائن JSON مختلف. يمكن أن يمثل تعبير كائن JavaScript كائن JSON في بيئات وقت تشغيل JavaScript. فيما يلي بعض الأمثلة على كائنات المخطط الصالحة:

مخطط

مباريات

{}

اي قيمة

{type: 'object'}

كائن JavaScript

{ نوع الرقم' }

رقم جافا سكريبت

{نوع: "سلسلة"}

سلسلة جافا سكريبت

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

صنع كائن جديد فارغ:

var JSON_Obj = {} ،

إنشاء كائن جديد:

var JSON_Obj = كائن جديد ()

JSON (مقارنة مع XML)

JSON و XML هي تنسيقات لا تعتمد على اللغة ويمكن للمستخدم قراءتها. في سيناريوهات العالم الحقيقي ، يمكنهم الإنشاء والقراءة وفك التشفير. بناءً على المعايير التالية ، قد نقارن JSON مع XML.

تعقيد

لأن XML أكثر تعقيدًا من JSON ، يفضل المبرمجون JSON.

استخدام المصفوفات

يستخدم XML للتعبير عن البيانات المهيكلة ؛ ومع ذلك ، لا يدعم XML المصفوفات ، لكن JSON يدعمها.

توزيع

يتم تفسير JSON باستخدام وظيفة EVAL في JavaScript. يُرجع Eval الكائن الموصوف عند استخدامه مع JSON.

 

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

 

JSON

XML

{

   "الشركة": Ferrari ،

   "الاسم": "GTS" ،

   "السعر": 404000

}

 

 

فيراري 

 

GTS 

 

404000 

 

مزايا مخطط JSON

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

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

الميزة الرئيسية لمخطط JSON هي توافقه مع مجموعة متنوعة من لغات البرمجة ، فضلاً عن دقة واتساق التحقق من الصحة.

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

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

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