إنتهى!

هل يمكنك تقديم مثال على إعادة استخدام المخططات مع $ref في مخطط JSON؟

التكنولوجيا
علوم الحاسوب
الهندسة

الخطوات

تم الانتهاء من 6 خطوات!١١٫٦٢ ث

الجواب

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

مثال مخطط JSON:

{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "user": { "$ref": "#/definitions/user" }, "items": { "type": "array", "items": { "$ref": "#/definitions/item" } } }, "definitions": { "user": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "email": { "type": "string", "format": "email" } }, "required": ["id", "name", "email"] }, "item": { "type": "object", "properties": { "productId": { "type": "integer" }, "quantity": { "type": "integer" } }, "required": ["productId", "quantity"] } }, "required": ["user", "items"] }

شرح:

  1. كائن الجذر: مخطط الجذر هو كائن له خاصيتان: user و items.

  2. إعادة استخدام مخطط المستخدم: تستخدم الخاصية user $ref للإشارة إلى تعريف user ضمن definitions. يعرف هذا المخطط كائن مستخدم ب id و name و email.

  3. إعادة استخدام مخطط العنصر: الخاصية items عبارة عن صفيف من العناصر حيث تتم الإشارة إلى كل مخطط عنصر باستخدام $ref إلى تعريف item. يحدد هذا المخطط بنية كل عنصر في الصفيف، بما في ذلك productId وquantity.

  4. الخصائص المطلوبة: يجب أن يحتوي كل من user وكل item على خصائص معينة مطلوبة محددة في المخططات الخاصة بكل منهما.

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