في هندسة البرمجيات الحديثة، تتواصل الخدمات عبر JSON. ولكن كيف تضمن أن الخدمة (أ) ترسل البيانات التي تتوقعها الخدمة (ب)؟ إذا كان من المفترض أن يكون حقل "العمر" رقماً، ولكنه أنشأ سلسلة نصية "عشرون"، فقد يتعطل التطبيق.
JSON Schema هو الحل. إنها لغة تعريفية (مكتوبة بـ JSON نفسها) تسمح لك بتوضيح مستندات JSON والتحقق من صحتها. فكر فيها على أنها "فحص النوع (Type Checking) لـ JSON".
يسمح لك مدقق JSON Schema بلصق بياناتك ومخططك للتحقق الفوري من الامتثال.
شرح الكلمات المفتاحية الأساسية
1. التحقق من النوع (Type Validation)
"type": "string" | "number" | "boolean"
يفرض نوع البيانات البدائية.
2. الخصائص المطلوبة (Required)
"required": ["id", "email"]
يضمن وجود الحقول الهامة. تؤدي الحقول المفقودة إلى خطأ في التحقق.
3. النمط (Regex)
يتحقق من السلاسل مقابل التعبيرات النمطية (مثل فرض تنسيق البريد الإلكتروني).
مثال واقعي: ملف تعريف المستخدم
المخطط:
{
"type": "object",
"properties": {
"name": { "type": "string", "minLength": 2 },
"age": { "type": "integer", "minimum": 0 },
"role": { "enum": ["admin", "user"] }
},
"required": ["name", "role"]
}
لماذا نستخدم JSON Schema؟
- الاختبار الآلي: دمج التحقق في خط أنابيب CI/CD الخاص بك.
- توليد النماذج: يمكن للمكتبات بناء واجهات مستخدم تلقائياً بناءً على مخططك.
- التوثيق: يعمل المخطط المكتوب جيداً كوثائق لا لبس فيها لمستهلكي واجهة برمجة التطبيقات.