JSON کو فوری طور پر فارمیٹ، توثیق اور چھوٹا کریں۔
JSON (JavaScript آبجیکٹ نوٹیشن) ویب APIs، کنفیگریشن فائلز، اور ڈیٹا اسٹوریج کے لیے معیاری ڈیٹا انٹرچینج فارمیٹ ہے۔ جب آپ API کے جواب یا ڈیبگنگ ٹول سے خام یا کمپیکٹ JSON وصول کرتے ہیں، تو اسے فارمیٹ کرنے سے یہ سیکنڈوں میں انسانی پڑھنے کے قابل ہو جاتا ہے۔ جب آپ کو JSON کو مؤثر طریقے سے منتقل کرنے کی ضرورت ہوتی ہے تو، چھوٹے کرنے سے تمام غیر ضروری خالی جگہ ختم ہوجاتی ہے۔
ٹول کا استعمال کیسے کریں۔
JSON کو ان پٹ باکس میں چسپاں کریں، پھر اسے صاف ستھرا حاشیہ اور پڑھنے کے قابل دیکھنے کے لیے فارمیٹ کا انتخاب کریں، یا ہر غیر ضروری جگہ اور لائن بریک کو چھوٹے سے ممکنہ سائز کے لیے نکالنے کے لیے چھوٹا کریں۔ اگر JSON میں کوئی خامی ہے تو، ٹول خاموشی سے ناکام ہونے کے بجائے کیا غلط ہوا اس کی اطلاع دیتا ہے، جو عام طور پر لاگ فائل یا API کے جواب سے چسپاں کیے گئے بڑے بلاک میں دفن آوارہ کوما یا گمشدہ بریکٹ کو تلاش کرنے کا تیز ترین طریقہ ہے۔
JSON کیا ہے؟
JSON ایک ٹیکسٹ پر مبنی ڈیٹا فارمیٹ ہے جو سٹرکچرڈ ڈیٹا کو کلیدی قدر کے جوڑوں (آبجیکٹ) اور ترتیب شدہ فہرستوں (ارے) کے بطور پیش کرتا ہے۔ یہ جاوا اسکرپٹ آبجیکٹ نحو سے اخذ کیا گیا تھا لیکن یہ زبان سے آزاد ہے - عملی طور پر ہر پروگرامنگ زبان میں JSON پارسر ہوتا ہے۔
ایک درست JSON دستاویز میں سے ایک ہے: ایک آبجیکٹ، ایک سرنی، ایک تار، ایک نمبر، ایک بولین (سچ یا غلط)، یا کالعدم۔
درست JSON کی مثال:
{
"نام": "ایلس"،
"عمر": 30،
"اسکور": [95، 87، 91]،
"فعال": سچ
}
JSON بمقابلہ XML
JSON نے بڑی حد تک XML کو ویب پر غالب ڈیٹا انٹرچینج فارمیٹ کے طور پر تبدیل کر دیا ہے کیونکہ یہ زیادہ کمپیکٹ، پڑھنے میں آسان، اور زیادہ تر پروگرامنگ زبانوں (آبجیکٹ اور اریز) کے ڈیٹا ڈھانچے کے قدرتی طور پر نقشہ بناتا ہے۔
نیسٹڈ ڈھانچے ایک نظر میں
فارمیٹنگ کی اصل قدر اس وقت ظاہر ہوتی ہے جب اشیاء اور صفیں ایک دوسرے کے اندر کئی سطحوں تک گہرائی میں گھونسلا بنانا شروع کر دیتی ہیں، جو کہ حقیقی API ردعمل میں عام ہے۔ JSON کا ایک گہرا گھونسلا، چھوٹا سا بلاب آنکھ سے ٹریس کرنا تقریباً ناممکن ہے — کئی سطروں کے فاصلے پر ایک افتتاحی منحنی خطوط وحدانی کو اس کے درست اختتامی منحنی خطوط وحدانی سے ملانا بالکل اسی قسم کا تکلیف دہ، غلطی کا شکار کام ہے جو کمپیوٹر انسان سے کہیں بہتر کرتا ہے۔ مستقل انڈینٹیشن کے ساتھ فارمیٹ شدہ JSON اسی ڈھانچے کو کسی ایسی چیز میں بدل دیتا ہے جس کی آپ بصری طور پر پیروی کر سکتے ہیں، سطح کے لحاظ سے، یہی وجہ ہے کہ تقریباً ہر ڈویلپر ٹول جو JSON کو دکھاتا ہے، براؤزر ڈیو ٹولز سے لے کر API کلائنٹس تک، اسے اصل میں بھیجے گئے سرور کو خام، کمپیکٹ سٹرنگ دکھانے کے بجائے ڈیفالٹ کے ذریعے فارمیٹ کرتا ہے۔
خوبصورت پرنٹنگ (فارمیٹنگ)
ایک "منفی شدہ" JSON سٹرنگ میں کوئی غیر ضروری خالی جگہ نہیں ہے:
{"نام":"ایلس"،"عمر":30،اسکورز":[95,87,91],"فعال":سچ}
درست ہونے کے باوجود اسے پڑھنا مشکل ہے۔ "خوبصورت پرنٹنگ" یا "فارمیٹنگ" انڈینٹیشن اور نئی لائنیں شامل کرتی ہے:
گھوںسلا کی ہر سطح کو 2 یا 4 خالی جگہوں سے انڈینٹ کیا جاتا ہے۔ یہ گہرے اندر کے ڈھانچے کو بصری طور پر نیویگیٹ کرنے میں آسان بناتا ہے۔
JSON کے عروج کی ایک مختصر تاریخ
JSON کو 2000 کی دہائی کے اوائل میں Douglas Crockford کے ذریعہ مقبول بنایا گیا تھا، جس نے ایک ڈیٹا فارمیٹ کو دستاویزی شکل دی اور اس کا نام دیا جس پر اس نے محسوس کیا کہ JavaScript کے اپنے آبجیکٹ لغوی نحو میں پہلے سے ہی مضمر تھا، بجائے اس کے کہ کوئی نئی چیز ایجاد کی جائے۔ اس کا وقت AJAX سے چلنے والی ویب ایپلیکیشنز کی ترقی کے ساتھ موافق تھا جس کو پورے صفحے کو دوبارہ لوڈ کیے بغیر براؤزر اور سرور کے درمیان ڈیٹا کا تبادلہ کرنے کے لیے ہلکے وزن کی ضرورت تھی، اور اس کی مقامی JavaScript آبجیکٹ سے مماثلت کا مطلب ہے کہ براؤزر اسے تقریباً مفت میں پارس کر سکتے ہیں۔ سادگی اور اچھے وقت کا یہ امتزاج بڑی حد تک یہی ہے کہ JSON نے تقریباً ایک دہائی کے اندر ویب APIs کے لیے پہلے سے طے شدہ انتخاب کے طور پر زیادہ لفظی XML کو پیچھے چھوڑ دیا۔
ویب ڈویلپمنٹ میں JSON
ویب APIs درخواست اور رسپانس باڈیز کے لیے JSON کو بہت زیادہ استعمال کرتے ہیں۔ براؤزر کا fetch() API اور XMLHttpRequest دونوں JSON کو مقامی طور پر ہینڈل کرتے ہیں۔ سرور سائیڈ لینگویجز بلٹ ان لائبریریوں کا استعمال کرتے ہوئے JSON کو پارس کرتی ہیں: Python میں json، JavaScript میں JSON.parse، PHP میں json_decode، جاوا میں Gson/Jackson۔
فارمیٹنگ اور منفائنگ مختلف مقاصد کو کیوں پورا کرتے ہیں۔
یہ دونوں آپریشنز موجود ہیں کیونکہ JSON کو دو بالکل مختلف سامعین پڑھتے ہیں۔ فارمیٹ شدہ، انڈینٹڈ JSON انسانوں کے لیے ہے: ایک ڈویلپر API کے جواب کا معائنہ کر رہا ہے، کنفیگریشن فائل کو ڈیبگ کر رہا ہے، یا ڈیولپمنٹ کے دوران ڈیٹا کا جائزہ لے رہا ہے جو واضح انڈینٹیشن سے بہت زیادہ فائدہ اٹھاتا ہے جو نیسٹڈ آبجیکٹس اور ارے کی ساخت کو ایک نظر میں دکھاتا ہے۔ Minified JSON مشینوں کے لیے ہے: ہر غیر ضروری جگہ اور لائن بریک کو ہٹانے سے ان بائٹس کی تعداد کم ہو جاتی ہے جنہیں نیٹ ورک پر منتقل کرنے یا ڈسک پر ذخیرہ کرنے کی ضرورت ہوتی ہے، جس سے فرق پڑتا ہے جب JSON پے لوڈ سرورز کے درمیان دن میں ہزاروں یا لاکھوں بار بھیجا جاتا ہے۔ کوئی بھی شکل دوسرے سے زیادہ "درست" نہیں ہے - وہ صرف مختلف قارئین کے لیے بہتر بناتے ہیں، اور دونوں کے درمیان ایک اچھا ورک فلو اس بات پر منحصر ہوتا ہے کہ آیا کوئی انسان یا مشین اس وقت پڑھ رہا ہے۔
عام JSON غلطیاں اور ان کی نشاندہی کرنے کا طریقہ
کسی آبجیکٹ یا ارے میں آخری آئٹم کے بعد ٹریلنگ کوما سب سے زیادہ بار بار آنے والی خرابیوں میں سے ایک ہے، کیونکہ یہ JavaScript آبجیکٹ لٹریلز میں درست ہے لیکن JSON میں واضح طور پر نامنظور ہے۔ پراپرٹی کے ناموں کو ہمیشہ ڈبل کوٹڈ سٹرنگز ہونے چاہئیں — بغیر کوٹ شدہ کیز اور سنگل کوٹڈ سٹرنگز دونوں غلط ہیں، حالانکہ دونوں جاوا اسکرپٹ میں قانونی ہیں۔ معیاری JSON میں تبصرے بالکل بھی تعاون یافتہ نہیں ہیں، اس لیے مددگار ان لائن تبصروں والی ایک کنفیگریشن فائل (جیسے JSONC فارمیٹ VS کوڈ اس کی ترتیبات کے لیے استعمال کرتا ہے) تکنیکی طور پر JSON درست نہیں ہے اور اس کے لیے ایک خاص مقصد کے تجزیہ کار کی ضرورت ہوتی ہے۔ چونکہ JSON کا گرامر JavaScript کے مقابلے میں جان بوجھ کر سخت ہے، اس لیے JavaScript آبجیکٹ کو براہ راست JSON فیلڈ میں کاپی کرنا نحوی غلطیوں کا ایک بہت عام ذریعہ ہے جو یہ ٹول آپ کو پکڑنے میں مدد کرتا ہے۔
ڈیٹا پر بھروسہ کرنے سے پہلے تصدیق کرنا
JSON کو پڑھنے کے قابل بنانے کے علاوہ، یہ ٹول اس کی توثیق بھی کرتا ہے، جو اس لیے اہم ہے کیونکہ ایک غلط جگہ والا کردار JSON کے ایک دوسری صورت میں درست نظر آنے والے بلاک کو مکمل طور پر ناقابل تجزیہ بنا سکتا ہے۔ گمشدہ کوما یا غیر بند بریکٹ کے لیے سیکڑوں لائنوں کو دستی طور پر اسکین کرنے کے بجائے، متن کو اس میں چسپاں کرنا اور تجزیہ کار کو بالکل وہی جگہ دینا جہاں یہ ناکام ہو جاتا ہے ایک تکلیف دہ بصری تلاش کو فوری، درست جواب میں بدل دیتا ہے، جو خاص طور پر قابل قدر ہوتا ہے جب کسی کنفیگریشن فائل کو ڈیبگ کرتے وقت یا API کے جواب کو قبول کرنے سے پروگرام انکار کرتا ہے۔
نجی اور فوری
تمام پروسیسنگ مکمل طور پر آپ کے براؤزر میں چلتی ہے، اس لیے فارمیٹنگ اور منیفائینگ فوری طور پر ہوتی ہے اور آپ کے پیسٹ کردہ JSON کو کبھی بھی کہیں بھیجا، لاگ یا شیئر نہیں کیا جاتا، اور صفحہ لوڈ ہونے کے بعد یہ آف لائن کام کرتا ہے۔
JSON فارمیٹر FAQ
- JSON کیا ہے؟
- JSON (جاوا اسکرپٹ آبجیکٹ نوٹیشن) ایک ہلکا پھلکا ڈیٹا انٹرچینج فارمیٹ ہے۔ یہ کلیدی قدر کے جوڑوں اور صفوں پر مشتمل ڈیٹا آبجیکٹ کی نمائندگی کے لیے انسانی پڑھنے کے قابل متن کا استعمال کرتا ہے۔
- "فارمیٹ" کیا کرتا ہے؟
- فارمیٹنگ (جسے "خوبصورت پرنٹنگ" بھی کہا جاتا ہے) JSON کو انسانی پڑھنے کے قابل بنانے کے لیے مناسب انڈینٹیشن اور نئی لائنیں شامل کرتا ہے۔ سب سے چھوٹی ممکنہ درست JSON سٹرنگ تیار کرنے کے لیے کم کرنے سے تمام خالی جگہ ہٹا دی جاتی ہے۔
- کیا توثیق کرنے والا غلطیوں کو ٹھیک کرتا ہے؟
- نہیں، ٹول JSON کو پارس کرتا ہے اور اگر یہ غلط ہے تو غلطی کی اطلاع دیتا ہے۔ غلطی کو ٹھیک کرنا صارف پر چھوڑ دیا گیا ہے۔