JSON توثیق کنندہ
دیکھیں کہ متن standard JSON syntax کے مطابق ہے یا نہیں، اور input کے قبول یا مسترد ہونے کی وجہ سمجھیں۔
ڈیٹا استعمال کرنے سے پہلے JSON چیک کریں
ایک missing quote، comma یا bracket API، configuration یا build step روک سکتا ہے۔ یہ validator source text کو JSON کے طور پر parse کرنے کی کوشش کرتا ہے تاکہ syntax مسئلہ application کی بعد والی validation سے الگ سمجھا جا سکے۔
یہاں validation کا مطلب ہے کہ دیا گیا text ایک JSON value کے طور پر parse ہو سکتا ہے یا نہیں۔ کامیاب parse صرف structure قبول ہونے کی علامت ہے؛ required fields، business rules یا JSON Schema کے درست ہونے کی ضمانت نہیں۔
جب payload ایک service سے دوسری service تک جاتا ہے تو پہلے syntax check کرنے سے debugging آسان ہوتی ہے۔ quotes، commas، escapes اور nesting دیکھیں، پھر project کے schema اور domain checks چلائیں۔
یہ page request body، fixture، exported settings اور configuration snippet کے لیے مفید ہے۔ test copy سے tokens، passwords اور ذاتی معلومات ہٹائیں اور اپنی privacy policy پر عمل کریں۔
Syntax اور data meaning الگ ہیں
Standard JSON میں object، array، string، number، true، false اور null ہوتے ہیں۔ property names اور strings double quotes میں ہوتے ہیں، members comma سے الگ ہوتے ہیں، اور brackets درست ترتیب سے بند ہونے چاہییں۔ comments اور trailing commas standard grammar کا حصہ نہیں۔
Validator صرف یہ پوچھتا ہے: کیا source کو ایک JSON value کے طور پر parse کیا جا سکتا ہے؟ یہ source repair نہیں کرتا، code نہیں چلاتا، API call نہیں کرتا اور application کے لیے value کا business meaning طے نہیں کرتا۔ schema اور domain checks الگ رکھیں۔
Whitespace عموماً readability کے لیے قابل قبول ہے، مگر string کے اندر characters data کا حصہ ہیں۔ production consumer کے parser کے مطابق escape sequences، newlines، Unicode اور encoding چیک کریں۔
Valid JSON document کا مطلب یہ نہیں کہ transport بھی valid ہے۔ HTTP headers، content type، authentication، compression اور size limits الگ layers ہیں۔
JSON validate کرنے کا طریقہ
- Source field میں مکمل JSON value paste کریں۔ comments، code fences اور programming language wrapper کو test copy سے نکال دیں۔
- Validator چلائیں اور status اور diagnostic پڑھیں۔ marker کے character کے ساتھ اس سے پہلے اور بعد کے tokens بھی دیکھیں، کیونکہ اصل غلطی پہلے ہو سکتی ہے۔
- Reject ہونے پر quotes، commas، brackets، escapes اور nesting چیک کریں۔ بڑے document کو چھوٹے حصوں میں تقسیم کر کے failing section تلاش کریں، پھر corrected text دوبارہ بھیجیں۔
- Syntax پاس ہونے کے بعد project کے schema، types، required properties، ranges، permissions اور business rules چیک کریں۔ ان نتائج کو syntax result کا مترادف نہ بنائیں۔
- Original payload اور redacted copy الگ رکھیں۔ Secret values کو public examples، screenshots یا URLs میں نہ ڈالیں۔
- آخر میں اسی parser اور encoding سے integration test چلائیں جو اصل consumer استعمال کرتا ہے۔ مختلف languages duplicate keys اور number precision کو مختلف طریقے سے handle کر سکتی ہیں۔
Validation method
- Grammar پڑھنا
Validator token، quote، delimiter اور nesting rules استعمال کر کے پورے source کو ایک JSON value کے طور پر parse کرنے کی کوشش کرتا ہے۔
- Result بتانا
Valid کا مطلب parsing مکمل ہوئی۔ Failure کا مطلب source اس syntax سے match نہیں کرتا جسے tool سمجھتا ہے۔
- بعد کی checks الگ رکھنا
Schema، range، permission اور domain checks semantic checks ہیں؛ ان کے لیے الگ rules اور evidence چاہیے۔
اگر tool exact line number یا error message document نہیں کرتا تو اسے خود سے نہ گھڑیں۔ ضرورت ہو تو اصل runtime پر دوبارہ test کریں۔
Result پڑھنا
Valid کا مطلب text JSON syntax کے طور پر قبول ہوا۔ اس کے بعد values دیکھیں اور schema یا application validation چلائیں۔
Invalid کا مطلب parsing رک گئی۔ بتائی گئی جگہ سے پہلے اور بعد کے characters دیکھیں، صرف marker کو نہ بدلیں۔
Syntax valid ہو لیکن request fail ہو تو content type، endpoint، authentication، schema اور business rules چیک کریں۔ Syntax success network success نہیں ہے۔
اگر message عام ہو تو input چھوٹا کر کے failing section تلاش کریں۔ ایک property شامل یا حذف کرنے سے result بدلنا investigation clue ہے، ہر parser کی universal policy نہیں۔
عام غلطیاں
Single quotes، comments یا trailing commas والا JavaScript paste کرنا عام غلطی ہے۔ اسے standard JSON میں تبدیل کریں۔
Valid result کو schema validation سمجھنا غلط ہے۔ Required fields، ranges اور permissions الگ چیک کریں۔
صرف error marker کے پاس character بدلنا کافی نہیں؛ missing quote یا comma پہلے موجود ہو سکتا ہے۔
JSON کو Python dictionary، YAML یا JavaScript object نہ سمجھیں۔ Documented JSON grammar استعمال کریں۔
Clipboard smart quotes یا hidden control characters لا سکتا ہے۔ نتائج مختلف ہوں تو plain text editor میں source دیکھیں۔
حدود
Documented input ایک JSON text field ہے۔ اس سے JSON Schema، business rules، file processing یا ہر parser edge case support ثابت نہیں ہوتا۔
Duplicate keys، بہت بڑے numbers، document size اور encoding کو ضرورت کے مطابق الگ test کریں؛ policy library کے مطابق بدل سکتی ہے۔
Checker malicious payload کو محفوظ نہیں بناتا۔ Server پر size limits، nesting limits، resource limits اور security review ضروری ہیں۔
Production runtime، library version اور error policy الگ document کریں۔ Page کا عام result اس evidence کی جگہ نہیں لیتا۔
Examples
سادہ object قبول
کیا یہ basic object valid JSON ہے؟
مکمل object بھیجیں۔
Quoted name، string اور boolean ایک valid object structure بناتے ہیں۔
Unquoted name مسترد
Unquoted property name invalid کیوں ہے؟
Source بھیج کر failure پڑھیں۔
Standard JSON میں member name double-quoted string ہونا چاہیے۔
Nested data قبول
کیا object کے اندر objects کا array ہو سکتا ہے؟
Nested value کو ایک document کے طور پر بھیجیں۔
Array، objects، numbers، commas اور brackets مل کر valid JSON structure بناتے ہیں۔
Trailing comma مسترد
Last member کے بعد comma کا کیا ہوتا ہے؟
Trailing comma والا object بھیجیں۔
Standard JSON trailing comma قبول نہیں کرتا۔ اسے ہٹا کر دوبارہ validate کریں۔
null value
کیا null valid JSON value ہے؟
Object بھیج کر status پڑھیں۔
null standard JSON value ہے۔ Application میں اس کا مطلب contract طے کرتا ہے۔
Missing bracket مسترد
Opening bracket بند کرنا کیوں ضروری ہے؟
Unbalanced structure بھیجیں۔
Array [ سے کھلا مگر ] سے بند نہیں ہوا۔ Data استعمال کرنے سے پہلے nesting درست کریں۔
Frequently asked questions
کیا valid JSON کا مطلب application data بھی valid ہے؟
نہیں۔ اس کا مطلب صرف یہ ہے کہ text parse ہو سکتا ہے۔ Required fields، types، ranges، status اور business rules الگ checks ہیں۔
کیا validator source خود repair کرتا ہے؟
اسے checker کی طرح استعمال کریں۔ Source خود درست کریں، diff محفوظ کریں اور checked copy دوبارہ بھیجیں۔
کیا comments allowed ہیں؟
Standard JSON میں comments نہیں ہوتے۔ انہیں دوسرے source format میں رکھیں، build step پر strict JSON بنائیں اور output validate کریں۔
Single quotes reject کیوں ہوتی ہیں؟
Standard JSON names اور strings کے لیے double quotes مانگتی ہے۔ JavaScript object کو دستی تبدیلی کے بجائے JSON serializer سے تبدیل کریں۔
کیا یہ tool JSON Schema چیک کرتا ہے؟
نہیں۔ درست schema اور draft version کے ساتھ schema validator الگ چلائیں اور نتیجہ syntax result سے الگ لکھیں۔
کیا top-level value array ہو سکتی ہے؟
JSON array کو top-level value کے طور پر قبول کرتا ہے، مگر endpoint object مانگ سکتا ہے۔ Endpoint contract الگ test کریں۔
کیا duplicate key ہمیشہ reject ہوتی ہے؟
Universal policy نہیں۔ Parser پہلی یا آخری value رکھ سکتا ہے یا error دے سکتا ہے۔ Duplicate names سے بچیں اور اصل consumer پر test کریں۔
Validation پاس ہونے کے بعد کیا کریں؟
Schema، permission، range اور integration tests چلائیں۔ Content type، encoding، size، timeout اور logging چیک کر کے redacted payload staging میں آزمائیں۔
