تمام رہنما

JSON کی فارمیٹنگ اور توثیق

JSON کو پڑھنے میں آسان بنائیں، اس کی نحوی ساخت جانچیں یا مختصر نسخہ بنائیں۔ یہ رہنما حاشیہ بندی، کلیدوں کی ترتیب اور نتیجہ محفوظ کرنے کی وضاحت کرتا ہے۔

فراہم کردہ نمونہ آزمائیں

order-options.json ڈاؤن لوڈ کریں۔ یہ دو اشیا کا فرضی آرڈر ہے اور اس کے فیلڈ نام انگریزی میں ہیں۔ customer آبجیکٹ ایک نام اور شہر کو یکجا کرتا ہے؛ items ارے میں پہلے CARD-02 اور پھر BOX-01 ہے۔ نمونے میں واوین کے اندر متن، عددی مقداریں اور قیمتیں، منطقی قدر true اور خالی ترسیلی نوٹ کے لیے null شامل ہیں۔ فیلڈ جان بوجھ کر غیر مرتب ہیں تاکہ ترتیب کے اختیار کا اثر نظر آئے۔

مرحلہ وار رہنمائی

  1. JSON فارمیٹر اور ویلیڈیٹر کھولیں۔ فراہم کردہ order-options.json کو فائل سے کھولیں یا اس کا متن درج کردہ قدریں میں پیسٹ کریں۔
  2. ہر سطح پر دو اسپیس کے لیے انڈینٹیشن کو 2 پر رکھیں۔ پہلی بار آبجیکٹ کی کلیدیں ترتیب دیں پر نشان نہ لگائیں۔
  3. ان پٹ پراسیس کریں منتخب کریں۔ نتیجہ دکھانے سے پہلے ٹول JSON کی نحوی ساخت جانچتا ہے۔ اگر غلطی بتائے تو سطر اور کالم کی مدد سے مسئلہ تلاش کریں، ان پٹ درست کریں اور دوبارہ کوشش کریں۔
  4. نتیجہ پڑھیں۔ customer آبجیکٹ اور دونوں اشیا کو سمجھنا آسان ہونا چاہیے، ہر سطر میں ایک فیلڈ یا فہرست کا ایک اندراج ہوگا۔ ترتیب کا اختیار غیر منتخب ہو تو فیلڈ نمونے کی ترتیب برقرار رکھتے ہیں۔
  5. formatted.json محفوظ کرنے کے لیے نتیجہ ڈاؤن لوڈ کریں منتخب کریں۔ نتیجہ کسی دوسرے ایڈیٹر میں منتقل کرنے کے لیے متن کاپی کریں بھی استعمال کر سکتے ہیں۔
  6. ڈاؤن لوڈ کردہ فائل ٹیکسٹ ایڈیٹر میں کھولیں اور نیچے دی گئی جانچوں سے نمونے کے ساتھ موازنہ کریں۔ پھر حاشیہ بندی اور ترتیب کے دوسرے اختیارات آزمائیں اور ہر تبدیلی کے بعد دوبارہ ان پٹ پراسیس کریں منتخب کریں۔

پہلے اور بعد کی مثالیں

یہ مختصر مثالیں order-options.json کے customer آبجیکٹ کو ایک چھوٹی JSON دستاویز کے طور پر دکھاتی ہیں۔ ہر ترتیب سے پہلے اور بعد میں اسی نام اور شہر کا موازنہ کریں۔ آخر میں اختیاری حوالہ جاتی حصہ پورا آرڈر دکھاتا ہے۔

مختصر JSON کو پڑھنے میں آسان بنائیں

انڈینٹیشن کو 2 پر رکھیں، آبجیکٹ کی کلیدیں ترتیب دیں پر نشان نہ لگائیں اور ان پٹ پراسیس کریں منتخب کریں۔ نتیجے میں نئی سطریں اور ہر سطح پر دو اسپیس شامل ہوتے ہیں جبکہ فیلڈ کی اصل ترتیب برقرار رہتی ہے۔

پہلے: مختصر ان پٹ

{"customer":{"name":"Zoë","city":"Bergen"}}

بعد: دو اسپیس کی حاشیہ بندی

{
  "customer": {
    "name": "Zoë",
    "city": "Bergen"
  }
}

آبجیکٹ کے اندر کلیدیں مرتب کریں

انڈینٹیشن کو 2 پر رکھیں، آبجیکٹ کی کلیدیں ترتیب دیں پر نشان لگائیں اور ان پٹ پراسیس کریں منتخب کریں۔ customer کے اندر city اب name سے پہلے آتا ہے۔ دونوں قدریں وہی رہتی ہیں۔

پہلے: کلیدوں کی اصل ترتیب

{
  "customer": {
    "name": "Zoë",
    "city": "Bergen"
  }
}

بعد: آبجیکٹ کی مرتب کلیدیں

{
  "customer": {
    "city": "Bergen",
    "name": "Zoë"
  }
}

JSON کو مختصر بنائیں

انڈینٹیشن کے تحت مختصر کریں منتخب کریں، آبجیکٹ کی کلیدیں ترتیب دیں پر نشان نہ لگائیں اور ان پٹ پراسیس کریں منتخب کریں۔ فارمیٹنگ کی اسپیس اور نئی سطریں ختم ہو جاتی ہیں؛ متن اور فیلڈ کی ترتیب وہی رہتی ہے۔

پہلے: دو اسپیس کی حاشیہ بندی

{
  "customer": {
    "name": "Zoë",
    "city": "Bergen"
  }
}

بعد: مختصر کریں

{"customer":{"name":"Zoë","city":"Bergen"}}

حاشیہ بندی منتخب کریں

اختیاراس کا کام
2ہر اندرونی سطح کے لیے دو اسپیس استعمال کرتا ہے۔ بنیادی مراحل میں یہی ترتیب استعمال ہوتی ہے۔
4ہر اندرونی سطح کے لیے چار اسپیس استعمال کرتا ہے، جس سے اندر موجود آبجیکٹ اور ارے زیادہ نمایاں ہوتے ہیں۔
↹ہر اندرونی سطح کے لیے ایک ٹیب استعمال کرتا ہے۔ ٹیب کی ظاہری چوڑائی آپ کے ٹیکسٹ ایڈیٹر پر منحصر ہے۔
مختصر کریںفارمیٹنگ کی اسپیس اور نئی سطریں ہٹاتا ہے۔ واوین کے اندر متن کی اسپیس اسی متن کا حصہ رہتی ہیں۔ مختصر نتیجے کے لیے یہ اختیار منتخب کریں، پھر ان پٹ پراسیس کریں منتخب کریں۔

ان پٹ یا کسی اختیار کی تبدیلی سے پچھلا نتیجہ صاف ہو جاتا ہے۔ نئی ترتیبات کے ساتھ نتیجہ بنانے کے لیے دوبارہ ان پٹ پراسیس کریں منتخب کریں۔ ٹول ہر بار ان پٹ والے حصے کو پڑھتا ہے؛ پچھلا نتیجہ خود بخود ان پٹ میں واپس نہیں ڈالتا۔

آبجیکٹ کی کلیدیں مرتب کریں

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

  1. انڈینٹیشن کو 2 پر رکھیں، آبجیکٹ کی کلیدیں ترتیب دیں پر نشان لگائیں اور ان پٹ پراسیس کریں منتخب کریں۔
  2. اوپری سطح کی کلیدیں اب customer، deliveryNote، items، order اور paid کی ترتیب میں ہیں۔ customer کے اندر city، name سے پہلے ہے۔ ہر شے میں price، quantity اور sku سے پہلے ہے۔
  3. items ارے میں اب بھی پہلے CARD-02 اور پھر BOX-01 ہے۔ کلیدوں کو مرتب کرنا اشیا کو sku یا قیمت کے مطابق مرتب نہیں کرتا۔

کاپی کریں، ڈاؤن لوڈ کریں اور دوبارہ شروع کریں

اختیاراس کا کام
متن کاپی کریںموجودہ نتیجہ متن کے طور پر کاپی کرتا ہے۔ اگر کاپی کی سہولت دستیاب نہ ہو تو ٹول نتیجہ منتخب کر دیتا ہے تاکہ آپ اسے خود کاپی کر سکیں۔
نتیجہ ڈاؤن لوڈ کریںموجودہ نتیجہ formatted.json کے نام سے محفوظ کرتا ہے۔ یہی نام فارمیٹ شدہ، مختصر اور مرتب نتائج کے لیے استعمال ہوتا ہے؛ کئی نسخے محفوظ رکھنے ہوں تو فائلوں کے نام بدل دیں۔
نتائج پرنٹ کریںنتیجے کے متن کے لیے براؤزر کا پرنٹ ڈائیلاگ کھولتا ہے۔
مثال لوڈ کریںان پٹ کو ٹول کے اندرونی نمونے سے بدلتا ہے اور موجودہ ترتیبات کے ساتھ اس پر عمل کرتا ہے۔ یہ نمونہ اس رہنما کے order-options.json سے مختلف ہے۔
سب ہٹائیںان پٹ، منتخب فائل اور نتیجہ صاف کرتا ہے۔ حاشیہ بندی اور ترتیب کے منتخب اختیارات برقرار رہتے ہیں۔

ڈاؤن لوڈ کردہ JSON جانچیں

  • formatted.json کو ٹیکسٹ ایڈیٹر میں کھولیں۔ تصدیق کریں کہ آرڈر ORD-1042 ہے، گاہک Bergen میں Zoë ہے اور دو اشیا ہیں۔
  • قدریں اور ان کی اقسام جانچیں: quantity پہلے عدد 2 اور پھر 1 ہے، قیمتیں 19.50 اور 5.00 رہتی ہیں، paid بغیر واوین منطقی قدر true ہے اور deliveryNote بغیر واوین null ہے۔ واوین والے نام اور اشیا کے کوڈ متنی سٹرنگ رہتے ہیں۔
  • آبجیکٹ کی کلیدیں ترتیب دیں آزمانے کے بعد اوپر بتائی گئی فیلڈ ترتیب کی تصدیق کریں اور دیکھیں کہ items ارے میں CARD-02 اب بھی BOX-01 سے پہلے ہے۔
  • مختصر کریں اور ان پٹ پراسیس کریں آزمائیں۔ نتیجہ دوبارہ درج کردہ قدریں میں پیسٹ کریں، انڈینٹیشن کو 2 پر رکھیں اور دوبارہ ان پٹ پراسیس کریں منتخب کریں۔ قدروں اور اشیا کی ترتیب کا اصل نمونے سے موازنہ کریں؛ فارمیٹنگ کے اختیارات کو یہ برقرار رکھنا چاہیے۔

سوالات اور مسائل کا حل

ٹول JSON کو غیر درست کیوں بتاتا ہے؟

بتائی گئی سطر اور کالم کے ساتھ اس مقام سے فوراً پہلے والا فیلڈ بھی جانچیں۔ کلیدوں اور متن کے لیے دوہرے واوین، فیلڈ کے لیے کوما اور کولن ضروری ہیں؛ مربع اور خم دار بریکٹ بند ہونے چاہئیں۔ ان پٹ درست کریں اور دوبارہ ان پٹ پراسیس کریں منتخب کریں۔ توثیق JSON کی نحوی ساخت جانچتی ہے، اس لیے درست نتیجے میں بھی آپ کی ایپ کو درکار فیلڈ غائب ہو سکتے ہیں۔

کیا تبصرے یا آخر میں کوما استعمال کر سکتا ہوں؟

تبصرے اور بند ہونے والے مربع یا خم دار بریکٹ سے فوراً پہلے کے کوما ہٹا دیں۔ یہ JSON میں درست نہیں ہیں۔ فارمیٹر کو درست ان پٹ چاہیے اور وہ اسے خود بخود درست نہیں کرتا۔

دہرائی گئی کلید کی تنبیہ کا مطلب کیا ہے؟

پیغام «دہرائی گئی کلیدیں محفوظ ہیں۔ کچھ پروگرام دہرائی گئی کلیدیں نظر انداز کرتے ہیں۔» کا مطلب ہے کہ ایک ہی آبجیکٹ میں کوئی کلید ایک سے زیادہ بار موجود ہے۔ فارمیٹر ان اندراجات کو رکھتا ہے اور تنبیہ دیتا ہے۔ اصل ماخذ دیکھیں، مطلوبہ قدر منتخب کریں اور اضافی اندراج ہٹا دیں؛ کوئی دوسری ایپ ان میں سے صرف ایک رکھ سکتی ہے۔

میری فائل کیوں نہیں کھلتی یا اس پر عمل کیوں نہیں ہوتا؟

ان پٹ کی حد 2 MiB، یعنی 2,097,152 بائٹ ہے۔ مقامی ٹیکسٹ فائلوں کا انکوڈنگ UTF-8 ہونا چاہیے۔ اگر ٹول ڈیٹا کو بہت پیچیدہ بتائے تو اندرونی سطحیں یا اندراجات کم کریں۔ بڑے ان پٹ کو چھوٹی مکمل JSON دستاویزات میں تقسیم کریں، کسی آبجیکٹ یا ارے کے درمیان سے نہ کاٹیں۔

لمبے اعداد دوسری ایپ میں کیوں بدل جاتے ہیں؟

نیچے الگ عددی درستگی کے نمونے میں 9007199254740993 اور 0.10000000000000001 ہیں۔ یہ فارمیٹر ہر حاشیہ بندی اور ترتیب کے اختیار میں ان اعداد کا متن بالکل برقرار رکھتا ہے۔ exact-numbers.json فارمیٹ کریں اور ٹیکسٹ ایڈیٹر میں نتیجے کا exact-numbers-formatted.json سے موازنہ کریں۔ نتیجہ درآمد کرنے والی ایپ پھر بھی اعداد کو گول کر سکتی ہے؛ تصدیق کریں کہ وہ مطلوبہ عددی درستگی سنبھالتی ہے۔ 00123 جیسے ابتدائی صفر والے کوڈ کو JSON میں واوین کے اندر سٹرنگ ہونا چاہیے۔

کیا فارمیٹنگ پہلے سے گول کیے گئے ہندسے واپس لا سکتی ہے؟

فارمیٹنگ ان ہندسوں کو واپس نہیں لا سکتی جو متن ٹول تک پہنچنے سے پہلے گول یا حذف ہو گئے تھے۔ اصل ماخذ پر واپس جائیں اور مکمل قدر دوبارہ برآمد کریں۔ اگر قدر مقدار کے بجائے شناختی کوڈ ہو تو اسے سٹرنگ رکھنے سے وصول کرنے والی ایپس اس کے ہندسے برقرار رکھ سکتی ہیں۔

اختیاری: نمونے اور حوالہ جاتی نتائج کا موازنہ

یہ کوڈ مثالیں اور قابل ڈاؤن لوڈ فائلیں order-options.json سے اسی فارمیٹر کے ذریعے بنائی گئی ہیں جو ٹول کے صفحے پر ہے۔ فارمیٹ شدہ اور مختصر حوالوں میں کلیدوں کی ترتیب بند ہے؛ مرتب حوالہ دو اسپیس کی حاشیہ بندی اور فعال ترتیب استعمال کرتا ہے۔

اصل نمونہ

{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}

دو اسپیس؛ کلیدوں کی اصل ترتیب

{
  "order": "ORD-1042",
  "customer": {
    "name": "Zoë",
    "city": "Bergen"
  },
  "items": [
    {
      "sku": "CARD-02",
      "quantity": 2,
      "price": 19.50
    },
    {
      "sku": "BOX-01",
      "quantity": 1,
      "price": 5.00
    }
  ],
  "paid": true,
  "deliveryNote": null
}

مختصر کریں؛ کلیدوں کی اصل ترتیب

{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}

دو اسپیس؛ آبجیکٹ کی مرتب کلیدیں

{
  "customer": {
    "city": "Bergen",
    "name": "Zoë"
  },
  "deliveryNote": null,
  "items": [
    {
      "price": 19.50,
      "quantity": 2,
      "sku": "CARD-02"
    },
    {
      "price": 5.00,
      "quantity": 1,
      "sku": "BOX-01"
    }
  ],
  "order": "ORD-1042",
  "paid": true
}
حوالہ جاتی فائلترتیباتبائٹ
order-formatted.jsonدو اسپیس؛ کلیدوں کی اصل ترتیب300
order-minified.jsonمختصر کریں؛ کلیدوں کی اصل ترتیب193
order-sorted.jsonدو اسپیس؛ آبجیکٹ کی مرتب کلیدیں300

یہ اصل متنی نتائج ہیں، انٹرفیس کے اسکرین شاٹس نہیں۔ کوڈ اسکرین کی چوڑائی کے مطابق اگلی سطر میں دکھایا جا سکتا ہے۔ حوالہ جاتی فائلوں کے نام مثالوں کو الگ پہچان دیتے ہیں؛ ٹول خود ہر نسخہ formatted.json کے نام سے ڈاؤن لوڈ کرتا ہے۔

متعلقہ ٹولز

ذرائع

RFC 8259 · JSON