یہ ٹول کیسے کام کرتا ہے
یہ کسی JSON دستاویز کو JSON Schema کے مقابل جانچتا ہے — اور اسکیما خود ایک JSON دستاویز ہے جو بیان کرتی ہے کہ ڈیٹا کیسا ہونے کی اجازت ہے۔ صرف پہلا مسئلہ بتانے کے بجائے یہ پوری دستاویز پر چلتا ہے اور ہر ناکامی اس راستے کے ساتھ بتاتا ہے جہاں وہ پیش آئی، اور یہی چیز کسی بڑی دستاویز کو ٹھیک کرنا عملی بناتی ہے۔
کلیدی الفاظ کا احاطہ وسیع ہے: اقسام، لازمی خصوصیات، عددی حدیں، سٹرنگ کی لمبائی اور نمونہ، صف کی حدیں اور عناصر کے اسکیما، enum اور constant، خصوصیات کے باہمی انحصار، اور allOf، anyOf، oneOf، not اور if/then/else کی تینوں والی جوڑ کاریاں۔ مقامی حوالے جڑ والے اسکیما کے مقابل حل کیے جاتے ہیں، اور جو حوالہ حل نہ ہو سکے یا اپنے ہی اندر لوٹ جائے اسے خاموشی سے چھوڑنے کے بجائے بتا دیا جاتا ہے۔
بھروسہ کرنے سے پہلے جاننے کے قابل حدیں
- صرف مقامی حوالے حل ہوتے ہیں: اسی اسکیما کے اندر اشارہ کرنے والا $ref کام کرتا ہے۔ کسی URL یا دوسری فائل کی طرف اشارہ کرنے والا منگوایا نہیں جا سکتا، اور اسے نظر انداز کرنے کے بجائے ناقابلِ حل بتایا جاتا ہے۔
- جانچنا اور پارس کرنا ایک چیز نہیں: غلط JSON کسی اسکیما کے لاگو ہونے سے پہلے ہی ناکام ہو جاتی ہے۔ پارسر کا اپنا پیغام دکھایا جاتا ہے اور وہ مقام بتاتا ہے، جو عموماً کسی بھٹکے ہوئے کوما کو ڈھونڈنے کے لیے کافی ہے۔
- جو اسکیما ہر چیز کی اجازت دے وہ کچھ نہیں بتاتا: خالی اسکیما درست ہے اور ہر دستاویز قبول کر لیتا ہے۔ خاموشی کا مطلب ہے کہ ڈیٹا آپ کے لکھے ہوئے اصولوں پر پورا اترا، یہ نہیں کہ اصول کافی تھے۔
- format والے کلیدی الفاظ اطلاعی ہیں: JSON Schema میں format طے شدہ طور پر دعوے کے بجائے حاشیہ ہے۔ کسی بگڑے ہوئے ای میل پتے کو مسترد کرنے کے لیے اس پر انحصار نہ کریں؛ جہاں جانچ کا اثر ہونا ضروری ہو وہاں pattern استعمال کریں۔