JSON Schema ویلیڈیٹر
JSON ڈیٹا کو JSON Schema تعریفوں کے مطابق تصدیق کریں۔ راستوں کے ساتھ تفصیلی خرابی رپورٹس حاصل کریں۔ تمام پروسیسنگ آپ کے براؤزر میں ہوتی ہے۔
دیے گئے schema کے مطابق JSON ڈیٹا درست ہے!
| راستہ | خرابی |
|---|
JSON Schema ویلیڈیٹر کا استعمال کیسے کریں
Schema لکھیں
اپنا JSON Schema بیان کریں جو متوقع ڈھانچے کو بیان کرتا ہے۔
ڈیٹا لکھیں
وہ JSON ڈیٹا پیسٹ کریں جسے آپ schema کے مطابق تصدیق کرنا چاہتے ہیں۔
تصدیق کریں
تصدیق کریں پر کلک کریں اور کسی بھی خرابی کے لیے نتائج کا جائزہ لیں۔
JSON Schema کیا ہے؟
JSON Schema ایک الفاظ کا مجموعہ ہے جس سے آپ JSON دستاویزات کو annotate اور تصدیق کر سکتے ہیں۔ یہ بتاتا ہے کہ کسی ایپلیکیشن کے لیے کون سا JSON ڈیٹا درکار ہے اور اس کے ساتھ کیسے تعامل کرنا ہے۔ JSON Schema تصدیق، دستاویزات اور mock ڈیٹا بنانے کے لیے استعمال ہوتا ہے۔
اہم خصوصیات
ٹائپ تصدیق
ٹائپس کی تصدیق کریں: string, number, integer, boolean, array, object, null
پابندیاں
کم سے کم/زیادہ سے زیادہ لمبائی، حد، پیٹرن، لازمی فیلڈز اور مزید
ڈھانچے کی تعریف
نیسٹڈ آبجیکٹس، اریز اور پیچیدہ ڈیٹا ڈھانچے بیان کریں
عام سوالات
یہ ٹول Ajv لائبریری کے ذریعے JSON Schema Draft-07، Draft 2019-09 اور Draft 2020-12 سپورٹ کرتا ہے۔ عام schema خصوصیات میں سے اکثر سپورٹڈ ہیں۔
جی ہاں! JSON Schema گہرائی تک نیسٹڈ آبجیکٹس اور اریز سپورٹ کرتا ہے۔ آپ نیسٹنگ کی کسی بھی سطح پر properties اور items بیان کر سکتے ہیں، ہر فیلڈ کے لیے الگ تصدیقی قواعد کے ساتھ۔
ٹول پہلے یہ جانچتا ہے کہ آپ کا schema خود درست JSON Schema ہے یا نہیں۔ schema میں خرابیاں ہوں تو ڈیٹا کی تصدیق کی کوشش سے پہلے ہی ان کی رپورٹ دی جاتی ہے۔
type (string, number, object, array, boolean, null)، نیسٹڈ schema کے ساتھ properties، لازمی کیز کی فہرست دینے والا required، مققدر قدروں کے سیٹ کے لیے enum، regex-مقید اسٹرنگز کے لیے pattern، اور حد کی جانچیں minimum/maximum اور minLength/maxLength۔ additionalProperties: false آبجیکٹ کو اضافی کیز کے خلاف سخت کرتا ہے۔ یہ سب مل کر API تصدیقی قواعد کا بڑا حصہ ڈھانپتے ہیں۔
جدید JSON Schema میں format بطور ڈیفالٹ ایک اینوٹیشن ہے، خودکار ایشورشن نہیں - ویلیڈیٹر اسے صرف کنفیگر ہونے پر لاگو کرتے ہیں، جسے 2020-12 اسپیک نے الگ format-assertion الفاظ کے سیٹ سے واضح کیا۔ جب لاگو ہونا یقینی ہو تو pattern یا کسٹم کی ورڈ استعمال کریں، ورنہ format کو انٹروپریبلٹی میٹا ڈیٹا سمجھیں۔
#/$defs/address کی طرف اشارہ کرتا $ref، $defs کے نیچے schema کے ایک ٹکڑے کا حوالہ دیتا ہے اور جہاں استعمال ہوتا ہے وہاں اس کے مطابق تصدیق کرتا ہے - یہی ڈی ڈوپلیکیشن میکانزم ہے۔ Draft 2020-12 نے پرانی definitions کا نام $defs رکھا اور کمنٹ ٹریز جیسی recursive ڈھانچوں کے لیے $dynamicRef کو باقاعدہ بنایا۔ حوالے بیرونی دستاویزات کی طرف بھی اشارہ کر سکتے ہیں، اگرچہ مقامی طور پر بنڈل کرنا زیادہ عام ہے۔
allOf کے لیے ہر ذیلی schema درست ہونا ضروری ہے - یہ ایک تقاطع ہے، بنیادی schema میں اضافی پابندیاں شامل کرنے کے لیے۔ anyOf کو کم از کم ایک درکار ہے - یہ اجتماع ہے، پولی مورفک پے لوڈز کے لیے۔ oneOf کو بالکل ایک درکار ہے؛ دو یا صفر ذیلی schema کے درست ہونے پر ناکام ہو جاتا ہے، جو لوگوں کی توقع سے زیادہ سخت ہے اور اوورلیپنگ schema میں غیر متوقع خرابیوں کی عام وجہ ہے۔
2020-12 نے اسپیسفیکیشن کو الگ الگ فعال کیے جانے والے الفاظ کے سیٹ میں تقسیم کیا (validation, annotation, format-assertion)، definitions کا نام $defs رکھا، exclusiveMinimum کو ایک سادہ نمبر میں سادہ کیا، اور پرانی items کی ورڈ کی جگہ prefixItems اور items لائے۔ زیادہ تر ٹولنگ دونوں سپورٹ کرتی ہے؛ draft-07 اب بھی سب سے زیادہ استعمال میں ہے، لیکن 2020-12 موجودہ شائع شدہ معیار ہے۔
متعلقہ ٹولز
مستند حوالہ جات
اس ٹول کے پیچھے کے بنیادی ذرائع — ثانوی خلاصے نہیں بلکہ سرکاری معیار اور specifications۔
JSON Schema - 2020-12 Validation Specification
JSON Schema 2020-12 validation specification — تازہ شائع شدہ معیار۔
JSON Schema - Learn
JSON Schema کے لیے سرکاری learning سائٹ، بنیادیوں سے $ref اور $defs تک۔
JSON Schema - Wikipedia
JSON Schema کیا تصدیق کرتا ہے اور API معاہدوں اور config validation میں اس کا کردار۔