مدقق JSON Schema — مسارات draft-07 ومحليًا
تحقق من JSON مقابل JSON Schema (draft-07) في المتصفح. الخطوات: الصق Schema والمثيل، تحقق، ثم اقرأ كل فشل عبر JSON Pointer. مثال: كائن منتج بلا price يفشل بـ missingProperty. النص يبقى في التبويب؛ يُحمَّل Ajv من CDN كرمز مكتبة فقط.
المحرك: Ajv 8 · JSON Schema draft-07 (الافتراضي).
كيف يعمل
الصق Schema يسارًا والمثيل يمينًا. يجمع Ajv (draft-07) الـ Schema ويتحقق ويعرض كل خطأ بـ JSON Pointer. تتوفر عينة فاشلة وصالحة؛ تُحمَّل العينة الفاشلة عند الدخول لترى مسارات حقيقية فورًا.
قواعد متوقعة
في هذه الصفحة: تحليل → تجميع Schema draft-07 → التحقق من المثيل → إخراج Pointer لكل خطأ.
- التحليل: يجب أن يقبل الجانبان JSON.parse. أخطاء التركيب/التجميع منفصلة عن فشل التحقق.
- التحقق: allErrors يجمع كل الإخفاقات. كل سطر: instancePath + message (+ missingProperty عند الحاجة).
- Draft: لهجة draft-07. لا تفترض كلمات 2020-12 هنا.
- الخصوصية: اللصق يبقى في التبويب. CDN يحمّل كود Ajv فقط.
مثال
يتطلب الـ Schema الحقلين sku (نص) وprice (رقم ≥ 0). صالح: {"sku":"A-1","price":9.5}. فاشل: {"sku":"A-1"} — يُبلَّغ عن missingProperty لـ price عند الجذر (/).
حالات مناسبة
- الذكاء الاصطناعي / الوكلاء: التحقق مما إذا كان JSON المنظم للنموذج يفتقد حقولًا قبل الوثوق به.
- تغذية التجارة: التحقق من JSON المنتج مقابل Schema قبل الاستيراد.
- تصحيح واجهات API: لصق جسم الطلب/الاستجابة على جزء Schema من العقد.
Frequently asked questions
لماذا فشل التحقق؟
أسباب شائعة: مفاتيح required ناقصة، أنواع خاطئة، أو additionalProperties:false. اقرأ سطر Pointer ورسالة الكلمة المفتاحية.
كيف أقرأ خطأ JSON Pointer؟
instancePath هو JSON Pointer داخل المثيل (الفارغ يُعرض /). عند غياب required يضيف Ajv أيضًا missingProperty في params.
أي draft تستخدمه هذه الصفحة؟
هذه الصفحة تستخدم لهجة draft-07 في Ajv. إصدارات 2019-09 / 2020-12 تحتاج بنى أخرى ولا تُختار هنا.
هل يغادر JSON متصفحي؟
لا يُرفع Schema أو JSON الخاص بك. CDN يحمّل كود Ajv فقط وليس لصقك.
كيف أفحص مخرجات LLM المنظمة؟
الصق Schema وJSON النموذج، تحقق، ثم أصلح كل Pointer حتى النجاح — مفيد قبل إرسال مخرجات منظمة إلى المراحل التالية.
استفسارات أو ملاحظات
هل هناك غموض أو خلل أو نقص؟ اكتب رسالة أدناه — نقرأ كل ملاحظة عن هذه الأدوات.