JSON Schema ویلیڈیٹر

JSON ڈیٹا کو JSON Schema تعریفوں کے مطابق تصدیق کریں۔ راستوں کے ساتھ تفصیلی خرابی رپورٹس حاصل کریں۔ تمام پروسیسنگ آپ کے براؤزر میں ہوتی ہے۔

فوری تصدیق خرابی کی تفصیل کلائنٹ سائیڈ پروسیسنگ

JSON Schema ویلیڈیٹر کا استعمال کیسے کریں

1

Schema لکھیں

اپنا JSON Schema بیان کریں جو متوقع ڈھانچے کو بیان کرتا ہے۔

2

ڈیٹا لکھیں

وہ JSON ڈیٹا پیسٹ کریں جسے آپ schema کے مطابق تصدیق کرنا چاہتے ہیں۔

3

تصدیق کریں

تصدیق کریں پر کلک کریں اور کسی بھی خرابی کے لیے نتائج کا جائزہ لیں۔

JSON Schema کیا ہے؟

JSON Schema ایک الفاظ کا مجموعہ ہے جس سے آپ JSON دستاویزات کو annotate اور تصدیق کر سکتے ہیں۔ یہ بتاتا ہے کہ کسی ایپلیکیشن کے لیے کون سا JSON ڈیٹا درکار ہے اور اس کے ساتھ کیسے تعامل کرنا ہے۔ JSON Schema تصدیق، دستاویزات اور mock ڈیٹا بنانے کے لیے استعمال ہوتا ہے۔

اہم خصوصیات

ٹائپ تصدیق

ٹائپس کی تصدیق کریں: string, number, integer, boolean, array, object, null

پابندیاں

کم سے کم/زیادہ سے زیادہ لمبائی، حد، پیٹرن، لازمی فیلڈز اور مزید

ڈھانچے کی تعریف

نیسٹڈ آبجیکٹس، اریز اور پیچیدہ ڈیٹا ڈھانچے بیان کریں

عام سوالات

JSON Schema کا کون سا ورژن سپورٹ ہے؟

یہ ٹول Ajv لائبریری کے ذریعے JSON Schema Draft-07، Draft 2019-09 اور Draft 2020-12 سپورٹ کرتا ہے۔ عام schema خصوصیات میں سے اکثر سپورٹڈ ہیں۔

کیا میں نیسٹڈ آبجیکٹس کی تصدیق کر سکتا ہوں؟

جی ہاں! JSON Schema گہرائی تک نیسٹڈ آبجیکٹس اور اریز سپورٹ کرتا ہے۔ آپ نیسٹنگ کی کسی بھی سطح پر properties اور items بیان کر سکتے ہیں، ہر فیلڈ کے لیے الگ تصدیقی قواعد کے ساتھ۔

اگر میرا schema غلط ہو تو کیا ہوتا ہے؟

ٹول پہلے یہ جانچتا ہے کہ آپ کا schema خود درست JSON Schema ہے یا نہیں۔ schema میں خرابیاں ہوں تو ڈیٹا کی تصدیق کی کوشش سے پہلے ہی ان کی رپورٹ دی جاتی ہے۔

کن JSON Schema کی ورڈز سب سے زیادہ استعمال ہوتی ہیں؟

type (string, number, object, array, boolean, null)، نیسٹڈ schema کے ساتھ properties، لازمی کیز کی فہرست دینے والا required، مققدر قدروں کے سیٹ کے لیے enum، regex-مقید اسٹرنگز کے لیے pattern، اور حد کی جانچیں minimum/maximum اور minLength/maxLength۔ additionalProperties: false آبجیکٹ کو اضافی کیز کے خلاف سخت کرتا ہے۔ یہ سب مل کر API تصدیقی قواعد کا بڑا حصہ ڈھانپتے ہیں۔

date-time اور email جیسے format کی ورڈز کیسے کام کرتی ہیں؟

جدید JSON Schema میں format بطور ڈیفالٹ ایک اینوٹیشن ہے، خودکار ایشورشن نہیں - ویلیڈیٹر اسے صرف کنفیگر ہونے پر لاگو کرتے ہیں، جسے 2020-12 اسپیک نے الگ format-assertion الفاظ کے سیٹ سے واضح کیا۔ جب لاگو ہونا یقینی ہو تو pattern یا کسٹم کی ورڈ استعمال کریں، ورنہ format کو انٹروپریبلٹی میٹا ڈیٹا سمجھیں۔

$ref کیا ہے اور schema کی دوبارہ استعمال کیسے کام کرتا ہے؟

#/$defs/address کی طرف اشارہ کرتا $ref، $defs کے نیچے schema کے ایک ٹکڑے کا حوالہ دیتا ہے اور جہاں استعمال ہوتا ہے وہاں اس کے مطابق تصدیق کرتا ہے - یہی ڈی ڈوپلیکیشن میکانزم ہے۔ Draft 2020-12 نے پرانی definitions کا نام $defs رکھا اور کمنٹ ٹریز جیسی recursive ڈھانچوں کے لیے $dynamicRef کو باقاعدہ بنایا۔ حوالے بیرونی دستاویزات کی طرف بھی اشارہ کر سکتے ہیں، اگرچہ مقامی طور پر بنڈل کرنا زیادہ عام ہے۔

oneOf، anyOf اور allOf میں کیا فرق ہے؟

allOf کے لیے ہر ذیلی schema درست ہونا ضروری ہے - یہ ایک تقاطع ہے، بنیادی schema میں اضافی پابندیاں شامل کرنے کے لیے۔ anyOf کو کم از کم ایک درکار ہے - یہ اجتماع ہے، پولی مورفک پے لوڈز کے لیے۔ oneOf کو بالکل ایک درکار ہے؛ دو یا صفر ذیلی schema کے درست ہونے پر ناکام ہو جاتا ہے، جو لوگوں کی توقع سے زیادہ سخت ہے اور اوورلیپنگ schema میں غیر متوقع خرابیوں کی عام وجہ ہے۔

draft-07 اور 2020-12 کے درمیان کیا بدلا؟

2020-12 نے اسپیسفیکیشن کو الگ الگ فعال کیے جانے والے الفاظ کے سیٹ میں تقسیم کیا (validation, annotation, format-assertion)، definitions کا نام $defs رکھا، exclusiveMinimum کو ایک سادہ نمبر میں سادہ کیا، اور پرانی items کی ورڈ کی جگہ prefixItems اور items لائے۔ زیادہ تر ٹولنگ دونوں سپورٹ کرتی ہے؛ draft-07 اب بھی سب سے زیادہ استعمال میں ہے، لیکن 2020-12 موجودہ شائع شدہ معیار ہے۔

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}