مولّد JSON Schema (مسودة 2020-12)

ولّد JSON Schema (مسودة 2020-12) من عيّنة JSON: الأنواع والمفاتيح الإلزامية واتحادات null وعناصر المصفوفات وصيغ النصوص مثل email وdate-time. مجاني.

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

أدوات ذات صلة

عرض الكل

ما هو مولّد JSON Schema؟

استنتج JSON Schema من مستند مثال. يصف المولّد نوع كل خاصية، ويدمج عناصر المصفوفات في مخطط items واحد، ويسرد المفاتيح الإلزامية، ويعلّم القيم القابلة لـ null باتحادات الأنواع، ويمكنه اكتشاف صيغ النصوص الشائعة.

كيفية استخدام مولّد JSON Schema

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

مثال

الإدخال
{"id":1,"email":"a@b.co"}
الإخراج
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "id",
    "email"
  ]
}

متى تستخدم مولّد JSON Schema

استخدمه كنقطة انطلاق لعقود API والتحقق من الإعدادات وتوليد النماذج. المخطط المستنتج من عيّنة واحدة بجودة العيّنة نفسها: أضف قيودًا مثل minimum أو enum أو pattern يدويًا قبل استخدامه للتحقق من بيانات حقيقية.

كيف يعمل مولّد JSON Schema

تُجتاز العيّنة تكراريًا ويجمع كل موضع أنواع JSON التي رآها (integer وnumber وstring وboolean وobject وarray وnull). تصبح الأعداد الصحيحة المختلطة بكسرية number؛ وتصبح الأنواع المتعددة مصفوفة type مثل ["object", "null"]. وفي مصفوفات الكائنات تكون الخاصية إلزامية فقط إذا وُجدت في كل كائن. ويفحص اكتشاف الصيغ النصوص مقابل أنماط date-time وdate وtime وemail وuuid وuri وipv4 ولا يضيف format إلا إذا طابقت كل القيم. وتصرّح النتيجة بـ $schema: https://json-schema.org/draft/2020-12/schema.

حالات الاستخدام الشائعة

  • إنشاء مخطط أولي لجسم طلب API
  • التحقق من ملفات الإعداد بـ ajv أو فحص في CI
  • توثيق شكل حمولة webhook
  • توليد نماذج من مخطط في أدوات تقبل JSON Schema

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

أي مسودة تُولَّد؟

المسودة 2020-12 المصرَّح بها بالكلمة المفتاحية $schema. والكلمات المستخدمة (type وproperties وrequired وitems وformat وadditionalProperties) صالحة أيضًا في draft-07.

كيف تُكتشف الخصائص الاختيارية؟

من مصفوفات الكائنات فقط: إذا غاب مفتاح من بعض العناصر يُستبعد من required. وفي الكائن الواحد يكون كل مفتاح إلزاميًا عند تفعيل الخيار.

هل يُفرض التحقق من format؟

في JSON Schema تكون format توصيفًا افتراضيًا؛ والمدققات مثل ajv تحتاج تفعيل التحقق من الصيغ (ajv-formats).

الخطوات التالية المقترحة

مدقّق مخطط JSON
تحقق من بيانات JSON وفق مخطط JSON (الإصدار 2020-12 أو 2019-09 أو 07) بـ Ajv وفحوص format. يعرض كل خطأ مسار العنصر. يعمل داخل متصفحك.
منسّق JSON
نسّق JSON بمسافتين أو 4 مسافات أو Tab، مع ترتيب اختياري للمفاتيح، واعرف السطر والعمود الدقيقين لأخطاء الصياغة. يعمل داخل متصفحك.
مولّد رمز QR
مولّد رموز QR مجاني للروابط والنصوص وبيانات Wi-Fi وبطاقات الاتصال والبريد والرسائل القصيرة وأرقام الهاتف. اضبط تصحيح الأخطاء والحجم والألوان ونزّل PNG أو SVG.
مولّد JWT
أنشئ رموز JSON Web Token موقّعة بـ HS256/384/512 أو RS أو PS أو ES أو EdDSA. عدّل الحمولة واضبط exp وiat وولّد المفاتيح أو الأسرار داخل متصفحك.
مولّد ظل الصندوق CSS
صمّم box-shadow في CSS بصرياً: كدّس طبقات متعددة واضبط الإزاحة والتمويه والانتشار والظل الداخلي وشفافية RGBA، مع معاينة حية ونسخ الكود.
مولّد تدرج CSS
صمّم تدرجات CSS الخطية والدائرية والمخروطية بنقاط لونية قابلة للسحب وزوايا ووضع التكرار والاستيفاء بـ OKLCH. معاينة حية ونسخ الكود.

استكشف المزيد من الفئات