ہر ڈویلپر کے ذریعے کی جانے والی 25 JSON غلطیاں

JSON ویب کمیونیکیشن کی ریڑھ کی ہڈی ہے۔ یہ ہلکا پھلکا (lightweight) اور پڑھنے میں آسان ہے۔ تاہم، اس کے قواعد سخت ہیں۔ چھوٹی غلطیاں آپ کے کوڈ کو خراب کر سکتی ہیں۔

بہتر ڈیٹا اسٹرکچرز لکھنے کے لیے ان عام غلطیوں سے بچیں۔

سنٹیکس (Syntax) کی غلطیاں

  • صرف ڈبل کوٹس (double quotes) استعمال کریں۔ سنگل کوٹس JavaScript میں کام کرتے ہیں لیکن JSON میں ناکام ہو جاتے ہیں۔
  • آخر میں آنے والے کوما (trailing commas) کو ہٹائیں۔ آخری آئٹم کے بعد کوما ہونے سے پروگرام کریش ہو سکتا ہے۔
  • غائب کوما شامل کریں۔ ہر key-value جوڑے کے درمیان کوما ہونا ضروری ہے۔
  • تمام keys کو کوٹ (quote) کریں۔ ہر key کے گرد ڈبل کوٹس ہونے چاہئیں۔
  • بریکٹس کا درست استعمال کریں۔ جہاں اسکوائر بریکٹس (square brackets) ہونے چاہئیں وہاں کرلی بریکٹس (curly braces) استعمال نہ کریں۔

ڈیٹا ٹائپ کی غلطیاں

  • undefined ویلیوز کو سنبھالیں۔ JSON undefined کو سپورٹ نہیں کرتا۔ اس کے بجائے null استعمال کریں۔
  • NaN اور Infinity سے بچیں۔ سیریلائزیشن (serialization) کے دوران یہ ویلیوز null میں تبدیل ہو جاتی ہیں۔
  • Date فارمیٹس کا خیال رکھیں۔ JSON تاریخوں کو اسٹرنگز (strings) کے طور پر لیتا ہے۔ آپ کو انہیں دوبارہ Date objects میں پارس کرنا ہوگا۔
  • بیس-10 (base-10) نمبرز استعمال کریں۔ ہیکساڈیسیمل (hex) یا آکٹل (octal) فارمیٹس استعمال نہ کریں۔
  • فنکشنز اسٹور نہ کریں۔ JSON صرف اسٹیٹک ڈیٹا کے لیے ہے۔
  • کمنٹس سے بچیں۔ JSON میں // یا /* */ کمنٹس کی اجازت نہیں ہے۔
  • ڈبل کوٹس کو ایسکیپ (escape) کریں۔ اسٹرنگ کے اندر کوٹس شامل کرنے کے لیے بیک سلیش (backslash) استعمال کریں۔
  • نئی لائن کے لیے \n استعمال کریں۔ آپ اسٹرنگ ویلیو کے اندر انٹر (enter) نہیں دبا سکتے۔
  • بیک سلیشز کو ایسکیپ کریں۔ پاتھ یا ریگیکس (regex) پیٹرنز کے لیے \\ استعمال کریں۔

ماحول (Environment) اور لاجک کی غلطیاں

  • اپنی ان پٹ چیک کریں۔ JSON.parse() کو کوئی آبجیکٹ پاس نہ کریں۔
  • کیسنگ (casing) کا خیال رکھیں۔ "userId" اور "userid" مختلف keys ہیں۔
  • ترتیب پر بھروسہ نہ کریں۔ JSON keys کی ترتیب کی ضمانت نہیں دیتا۔
  • کبھی بھی eval() استعمال نہ کریں۔ سیکیورٹی خطرات سے بچنے کے لیے JSON.parse() استعمال کریں۔
  • بڑے نمبرز کو محفوظ رکھیں۔ پریسیژن (precision) کے نقصان سے بچنے کے لیے 64-bit IDs کو اسٹرنگز کے طور پر پاس کریں۔
  • try...catch بلاکس استعمال کریں۔ اگر آپ غلطیوں کو نہیں پکڑیں گے تو غیر مستند (invalid) JSON آپ کی ایپ کو کریش کر دے گا۔
  • سرکولر ریفرنسز (circular references) کو درست کریں۔ آپ ایسے آبجیکٹ کو اسٹرنگٹی فائی (stringify) نہیں کر سکتے جو واپس اپنی ہی طرف اشارہ کرتا ہو۔
  • فرق کو سمجھیں۔ JSON ایک عام JavaScript آبجیکٹ کے مقابلے میں زیادہ پابندیوں والا ہے۔
  • خالی اسٹرنگز سے بچیں۔ "" کے بجائے {} یا [] استعمال کریں۔

محفوظ رہنے کا طریقہ:

  • اپنے سنٹیکس کو چیک کرنے کے لیے ایک ویلیڈیٹر (validator) استعمال کریں۔
  • فائلوں کو آٹو فارمیٹ کرنے کے لیے اپنے ایڈیٹر میں Prettier استعمال کریں۔
  • پارسنگ لاجک کو ہمیشہ try...catch بلاک میں رکھیں۔

ماخذ: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6