النقاط الرئيسية
- 01مدعوم بواسطة Ajv، أداة التحقق الأكثر استخداماً على نطاق واسع من JSON Schema في JavaScript — ما يمر هنا يمر في Node.js و Fastify وأدوات JS الأكثر.
- 02يبلغ عن كل خطأ تحقق في وقت واحد (وضع allErrors)، وليس فقط الفشل الأول.
- 03يتضمن كل خطأ مسار JSON Pointer إلى الحقل الفاشل للملاحة السريعة.
- 04كل من المخطط والبيانات يعملان بالكامل في متصفحك — لا شيء تم تحميله.
لماذا التحقق من صحة JSON مقابل مخطط؟
JSON Schema هي الطريقة القياسية لوصف شكل مستند JSON — الحقول المطلوبة والأنواع المسموحة وقيود القيم وهياكل الكائنات المتداخلة. يمسك التحقق من صحة مقابل مخطط قبل حمولة تصل الإنتاج على عدم تطابق النوع والحقول المفقودة وانتهاكات القيد في وقت مبكر، عندما تكون رخيصة الإصلاح.
حالات الاستخدام الأكثر شيوعاً هي اختبار نصائص طلب وردود API والتحقق من صحة ملفات الإعدادات وفحص كائنات مثال OpenAPI والتحقق من صحة صادرات البيانات مقابل هيكل معروف. تستخدم أداة التحقق الخاصة بـ Handytool Ajv — مكتبة JSON Schema de-facto JavaScript، المستخدمة داخل Node.js نفسه — لذا تطابق النتائج هنا ما سيراه الخادم الخاص بك.
كيفية التحقق من صحة JSON مقابل مخطط
- 01
الصق JSON Schema الخاص بك
الصق المخطط في لوحة اليسار. يمكن أن يكون هذا Draft 7 أو 2019-09 أو 2020-12 مخطط مع النوع والخصائص والمطلوب والعناصر و anyOf و allOf — أي كلمة رئيسية معاملة Ajv معاملة.
- 02
الصق بيانات JSON الخاصة بك
الصق مستند البيانات التي تريد التحقق من صحتها في لوحة اليمنى. هذا المثيل — نص طلب API أو كائن إعدادات أو سجل التصدير أو مثال واحد من مواصفات OpenAPI الخاصة بك.
- 03
انقر فوق التحقق
يقوم Ajv بتشغيل التحقق مع allErrors: true، مما يعني أنه يجمع كل فشل بدلاً من التوقف عند الأول.
- 04
راجع قائمة الأخطاء
يظهر كل خطأ مسار JSON Pointer إلى القيمة الفاشلة (على سبيل المثال /user/email) والكلمة الرئيسية الفاشلة (النوع والمطلوب والحد الأدنى) ورسالة مقروءة للإنسان. أصلح كل واحد وأعد التحقق.
ما يتحقق منه المطورون مع JSON Schema
- 01نصائح طلب REST API — تأكد من أن الحمولة تطابق شكل نقطة الوصول المتوقعة قبل الإرسال.
- 02عنصر مثال مواصفات OpenAPI — تحقق من صحة كل مثال على مقابل مكون المخطط المضمن.
- 03ملفات الإعدادات — تأكد من وجود المفاتيح المطلوبة والقيم من النوع الصحيح.
- 04سجلات خط الأنابيب — بقعة انجراف هيكلي بين منتجي ومستهلكي البيانات.
- 05حمولات تقديم النموذج — الاختبار أن التحقق من الواجهة الأمامية يعكس قيود مخطط الخادم الخلفي.
- 06أجسام webhook تابعة لجهات خارجية — تأكد من أن المخطط الموثق يطابق الحمولة الفعلية.
التحقق الخاص ولا يتطلب خادماً
يعمل Ajv بالكامل في متصفحك. لا يتم إرسال المخطط ولا البيانات إلى أي خادم — يمكنك التحقق من صحة المخطط الذي يصف هياكل البيانات الداخلية وكائنات البيانات التي تحتوي على قيم الحقول الحساسة بأمان.
يدعم أداة التحقق صيغ JSON Schema 6 و 7 و 2019-09 و 2020-12. الصيغة الأكثر شيوعاً في قواعد البيانات الموجودة هي Draft 7، التي تغطي جميع الكلمات الرئيسية اليومية: الكلمات الرئيسية والخصائص والمطلوبة والعناصر والحد الأدنى والحد الأقصى والنمط والقيم والقيمة والكل والآخر و $ref.
الأسئلة الشائعة حول أداة التحقق من صحة JSON Schema
أي صيغ JSON Schema مدعومة؟
يدعم Ajv الصيغ 6 و 7 و 2019-09 و 2020-12. الصيغة 7 هي الأكثر شيوعاً في قواعد البيانات الموجودة وتغطي جميع الكلمات الرئيسية القياسية.
لماذا لا يحل مخطط $ref الخاص بي؟
عناوين URL خارجية $ref لم يتم جلبها في هذه الأداة الخاصة بالمتصفح فقط. ضمن جميع المخططات المرجعية باستخدام $defs ومؤشرات JSON محلية مثل #/$defs/MyType.
هل يتم تحميل المخطط أو البيانات الخاصة بي إلى أي خادم؟
لا. يعمل Ajv بالكامل في متصفحك — كل من المخطط والبيانات تبقى على جهازك.
هل يمكنني استخدام هذا للتحقق من مواصفات OpenAPI 3 كاملة؟
يمكنك التحقق من صحة مكونات المخطط الفردية وكائنات المثال. التحقق من صحة مستند OpenAPI الكامل يتطلب أداة مدقق OpenAPI مخصصة تفهم meta-schema المواصفات.
لماذا أرى أخطاء متعددة بدلاً من واحد فقط؟
يتم تكوين أداة التحقق مع allErrors: true، مما يجعل Ajv تجمع كل فشل بدلاً من التوقف عند الأول. هذا مقصود — يمكنك إصلاح جميع المشاكل في ممر واحد بدلاً من محاولات التحقق المتكررة.