happytails.ai
العربية

أداة دمج JSON Schema

ادمج عدة مخططات JSON Schema، أو تركيبة allOf واحدة، في مخطط واحد. تُدرج القواعد التي يستحيل استيفاؤها معًا كتعارضات.

تقبل حتى 100,000 حرف ومن 2 إلى 50 مخططًا. يجري كل شيء في المتصفح. التنزيلات هي المخطط المدمج بصيغة JSON، وتقرير JSON، وقائمة التعارضات بصيغة CSV. مصفوفة من مخططات JSON، أو مخطط واحد يتضمن allOf. يدعم YAML أيضًا. حتى 100,000 حرف. راجع الإعدادات قبل التشغيل.

نتيجتك

أبلغ عن مشكلة أو شارك فكرة.

أداة دمج JSON Schema
  1. الصق مصفوفة مخططات JSON أو مخططًا يسرد فيها allOf المخططات.
  2. اختر إصدار JSON Schema أو أبقِ الكشف تلقائيًا.
  3. شغّل الدمج وراجع التعارضات والقواعد المحتفظ بها في allOf.
  4. نزّل المخطط المدمج وتقرير التعارضات.

ما تحتاج إلى معرفته

تقبل حتى 100,000 حرف ومن 2 إلى 50 مخططًا. يجري كل شيء في المتصفح. التنزيلات هي المخطط المدمج بصيغة JSON، وتقرير JSON، وقائمة التعارضات بصيغة CSV.

آلية دمج القواعد

تُتقاطع الأنواع، وكذلك قيم enum وconst؛ وتُستخدم الحدود الأكثر صرامة لـ minimum وmaximum، وتُدمج قوائم required، وتُدمج الخصائص واحدة تلو الأخرى. عندما يمنع أحد المخططات الخصائص الإضافية، تُمنع أيضًا الخاصية التي يعرّفها المخطط الآخر وحده؛ ويُدرج تعارض إذا كانت تلك الخاصية مطلوبة.

ما يبقى ضمن allOf

لا يمكن دمج بعض الكلمات المفتاحية بدقة، مثل تعبيري نمط مختلفين، وoneOf وnot وif وthen وpatternProperties بجوار قواعد خصائص أخرى وخصائص unevaluated. تُحفظ هذه القواعد داخل allOf في المخطط المدمج وتُدرج في التقرير، لذا لا يتغير معنى المخطط.

جارٍ فحص النتيجة

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