JSON اسکیما ویلیڈیٹر

استعمال کا طریقہ 3 مراحل
  1. اپنا JSON ڈیٹا چسپاں کریں۔
  2. JSON Schema چسپاں کریں، یا صرف ڈیٹا کی درستی جانچنی ہو تو خالی چھوڑ دیں۔
  3. تصدیق کریں دبائیں اور بتائی گئی ہر خرابی ٹھیک کریں۔
تصدیق کی رپورٹ

یہ آپ کے براؤزر میں ڈیٹا کو JSON Schema draft-07 کے ایک محدود مجموعے کے مقابل جانچتا ہے: type, required, properties, patternProperties, additionalProperties, items, contains, minItems, maxItems, uniqueItems, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, minLength, maxLength, pattern, minProperties, maxProperties, enum, const, format, allOf, anyOf, oneOf, not, if/then/else, dependencies, dependentRequired, dependentSchemas اور definitions یا $defs کے اندر مقامی $ref اشارے۔ بیرونی $ref کے URL حاصل نہیں کیے جاتے — کچھ بھی صفحے سے باہر نہیں جاتا — اور اس فہرست سے باہر کا کوئی بھی کلیدی لفظ خاموشی سے نظرانداز کرنے کے بجائے غیر جانچا ہوا قرار دے کر گنوا دیا جاتا ہے۔

یہ ٹول کیسے کام کرتا ہے

یہ کسی JSON دستاویز کو JSON Schema کے مقابل جانچتا ہے — اور اسکیما خود ایک JSON دستاویز ہے جو بیان کرتی ہے کہ ڈیٹا کیسا ہونے کی اجازت ہے۔ صرف پہلا مسئلہ بتانے کے بجائے یہ پوری دستاویز پر چلتا ہے اور ہر ناکامی اس راستے کے ساتھ بتاتا ہے جہاں وہ پیش آئی، اور یہی چیز کسی بڑی دستاویز کو ٹھیک کرنا عملی بناتی ہے۔

کلیدی الفاظ کا احاطہ وسیع ہے: اقسام، لازمی خصوصیات، عددی حدیں، سٹرنگ کی لمبائی اور نمونہ، صف کی حدیں اور عناصر کے اسکیما، enum اور constant، خصوصیات کے باہمی انحصار، اور allOf، anyOf، oneOf، not اور if/then/else کی تینوں والی جوڑ کاریاں۔ مقامی حوالے جڑ والے اسکیما کے مقابل حل کیے جاتے ہیں، اور جو حوالہ حل نہ ہو سکے یا اپنے ہی اندر لوٹ جائے اسے خاموشی سے چھوڑنے کے بجائے بتا دیا جاتا ہے۔

بھروسہ کرنے سے پہلے جاننے کے قابل حدیں

  • صرف مقامی حوالے حل ہوتے ہیں: اسی اسکیما کے اندر اشارہ کرنے والا $ref کام کرتا ہے۔ کسی URL یا دوسری فائل کی طرف اشارہ کرنے والا منگوایا نہیں جا سکتا، اور اسے نظر انداز کرنے کے بجائے ناقابلِ حل بتایا جاتا ہے۔
  • جانچنا اور پارس کرنا ایک چیز نہیں: غلط JSON کسی اسکیما کے لاگو ہونے سے پہلے ہی ناکام ہو جاتی ہے۔ پارسر کا اپنا پیغام دکھایا جاتا ہے اور وہ مقام بتاتا ہے، جو عموماً کسی بھٹکے ہوئے کوما کو ڈھونڈنے کے لیے کافی ہے۔
  • جو اسکیما ہر چیز کی اجازت دے وہ کچھ نہیں بتاتا: خالی اسکیما درست ہے اور ہر دستاویز قبول کر لیتا ہے۔ خاموشی کا مطلب ہے کہ ڈیٹا آپ کے لکھے ہوئے اصولوں پر پورا اترا، یہ نہیں کہ اصول کافی تھے۔
  • format والے کلیدی الفاظ اطلاعی ہیں: JSON Schema میں format طے شدہ طور پر دعوے کے بجائے حاشیہ ہے۔ کسی بگڑے ہوئے ای میل پتے کو مسترد کرنے کے لیے اس پر انحصار نہ کریں؛ جہاں جانچ کا اثر ہونا ضروری ہو وہاں pattern استعمال کریں۔

Every failure at once, not just the first one

Rather than stopping at the first rule a document breaks, the [msm_tool slug="json-validator"] walks the whole document against the whole schema and reports every failure it finds, each with the exact path where it occurred. That is what makes fixing a large document practical: a single pass shows every field that needs attention instead of one at a time across repeated runs.

Silence means the rules passed, not that the rules were good

A schema with no required properties and open-ended object rules accepts nearly anything, and an empty schema accepts everything without exception. A document reported as valid against either has only cleared a low bar — passing means the data satisfied whatever was actually written, which is worth checking on its own terms before trusting the result too far.

Only references within the same document resolve

A `$ref` pointing somewhere else inside the same schema works as expected. One pointing at an external URL or a separate file cannot be fetched from inside the validator, and rather than being silently skipped, it is reported as unresolvable — a schema that depends on an external reference needs that reference inlined before a complete result is possible here.

format is a note, not a rule, by default

In JSON Schema, the `format` keyword is an annotation rather than an assertion unless something specifically turns it into one. Marking a field as an email format documents the intent without actually rejecting a malformed address; a `pattern` is what enforces the shape of a value when the check genuinely needs to bite.

Invalid JSON never reaches the schema at all

A document that will not parse fails before any schema is applied, and the parser's own error is shown rather than a schema-shaped one — it names the position in the text, which is usually enough on its own to find a stray comma or an unquoted key. A parse failure and a schema failure are different problems, and the message makes clear which one occurred.

Why one mistake can appear at several paths

Combinators such as `anyOf` try every branch in turn and report the failure from each one that did not match, so a single value can produce several reported failures if more than one branch was tried against it. The repeated paths point at the same location in the document rather than several separate problems.

اکثر پوچھے گئے سوالات

خاص طور پر JSON اسکیما ویلیڈیٹر کے بارے میں۔ اس زمرے سے متعلق عمومی سوالات کے جواب زمرے کے صفحے پر موجود ہیں۔

اکثر اسکیما ارادے سے زیادہ نرم ہوتا ہے — کوئی required فہرست موجود نہ ہو، یا additionalProperties کھلا چھوڑ دیا گیا ہو۔ خالی اسکیما ہر چیز قبول کر لیتا ہے۔
نہیں۔ صرف اسی اسکیما کے اندر کے حوالے حل ہوتے ہیں۔ کسی URL یا دوسری فائل کی طرف اشارہ کرنے والی ہر چیز ناقابلِ حل بتائی جاتی ہے۔
خود JSON پارس ہی نہیں ہو سکی۔ پارسر کا پیغام مقام بتاتا ہے، جو عموماً سیدھا کسی آخری کوما یا بغیر واوین والی کلید کی طرف اشارہ کرتا ہے۔
طے شدہ طور پر نہیں — JSON Schema میں format دعوے کے بجائے حاشیہ ہے۔ جہاں جانچ کا اثر ہونا ضروری ہو وہاں pattern استعمال کریں۔
anyOf جیسی جوڑ کاریاں ہر شاخ آزماتی ہیں اور ہر ایک سے ناکامی بتاتی ہیں۔ راستہ آپ کو بتا دیتا ہے کہ یہ ایک ہی مقام ہے، کئی نہیں۔

نئے ٹولز، خصوصیات اور کارکردگی بڑھانے کے مشوروں کی اطلاع پانے کے لیے سبسکرائب کریں۔