JSON

JSON Schema Validator

التحقق من بيانات JSON مقابل JSON Schema (نمط draft-07) — مع المسار الدقيق وشرح لكل مخالفة.


                        
                    

JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.

How to use it

Common uses

Things to keep in mind

JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.

required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.

مقالة عن هذه الأداة: JSON Schema: كيف تصف وتتحقق من بنية JSON

الأسئلة الشائعة

ماذا يعني ظهور خطأ تحقق لمسار معيّن؟

يعني أن البيانات في ذلك المسار لا تحقق أحد قيود المخطط، مثل نوع خاطئ أو خاصية مطلوبة مفقودة أو عدم تطابق نمط أو قيمة خارج النطاق المسموح.

ما إصدار JSON Schema المدعوم؟

تدعم الأداة أسلوب draft-07، وهو من أكثر إصدارات JSON Schema استخدامًا وتغطي معظم الكلمات المفتاحية الشائعة مثل required وtype وpattern.

هل يُرسل المخطط أو البيانات إلى خادم للتحقق؟

لا، التحقق بأكمله يتم محليًا في المتصفح عبر JavaScript، دون رفع المخطط أو البيانات إلى أي مكان.

ماذا يفعل additionalProperties: false؟

افتراضيًا يمكن للكائن أن يحتوي أي حقول تتجاوز ما وُصف في properties. يمنع additionalProperties: false الحقول الزائدة — مفيد لاكتشاف خطأ إملائي في اسم مفتاح أو حقل تصحيح (debug) نُسي عن طريق الخطأ.

هل يمكن وصف حقل يقبل عدة أنواع؟

نعم، عبر مصفوفة في type، مثل "type": ["string", "null"] إذا كان الحقل يمكن أن يكون سلسلة أو null. للحالات الأكثر تعقيدًا تُستخدم الكلمات المفتاحية oneOf أو anyOf أو allOf.

مقالات: JSON

JSON Formatter: التنسيق والتصغير والتحقق

التنسيق لسهولة القراءة، والتصغير لتقليل الحجم، والتحقق للتأكد من الصحة — ثلاث مهام مختلفة مع JSON.

JSONPath: كيف تبحث في بيانات JSON دون تحليل يدوي

كيف يتيح JSONPath استخراج القيم المطلوبة من JSON كبير بتعبير واحد بدلاً من التصفح اليدوي.

JSON Diff: كيف تختلف المقارنة البنيوية عن النصية

لماذا لا ينبغي أن يؤثر ترتيب المفاتيح على مقارنة مستندي JSON.

JSON Flatten: تحويل بنية متداخلة إلى قائمة مسطحة

كيف يتحول JSON متداخل بعمق إلى قائمة مسطحة من المفاتيح مثل user.address.city.

JSON Sort Keys: لماذا نرتب مفاتيح الكائن

لماذا لا يُحدَّد ترتيب مفاتيح JSON رسميًا، لكن الترتيب يبقى مفيدًا عمليًا.

JSON Repair: لماذا يتعطّل JSON وكيف يُصلَح

الأسباب الشائعة لـ JSON «المعطّل» وما يمكن للإصلاح التلقائي تصحيحه وما لا يمكنه.

Mock JSON Generator: ما فائدة البيانات الوهمية

كيف تتيح البيانات الوهمية بدء بناء الواجهة قبل أن تكون الخلفية جاهزة.

JSON ↔ YAML/CSV/XML/TOML: متى ولماذا نحوّل

ما البيانات التي تُفقَد عند تحويل JSON إلى CSV، ولماذا يشيع YAML وTOML في ملفات الإعداد.