JSON فارمیٹر

فوری طور پر JSON کو فارمیٹ، درست اور مینی فائی کریں۔

اپنا JSON پیسٹ کریں

data.json
تیار ہے۔ JSON پیسٹ کریں اور ایک عمل منتخب کریں۔

آپ کا JSON آپ کے براؤزر میں پروسیس کیا جاتا ہے۔ BroBroGo پر کچھ بھی اپ لوڈ نہیں کیا جاتا۔

عمومی سوالات

کیا میرا JSON اپ لوڈ کیا جاتا ہے؟

نہیں۔ فارمیٹر آپ کے براؤزر میں چلتا ہے اور آپ کا JSON اپ لوڈ نہیں کرتا۔

Minify کیا کرتا ہے؟

Minify اسی JSON ڈیٹا کو برقرار رکھتے ہوئے غیر ضروری خالی جگہیں اور لائن بریکس ہٹا دیتا ہے۔

سمجھیں کہ JSON فارمیٹر کس طرح کام کرتا ہے

یہ ٹول JSON ڈیٹا کو فارمیٹ، درست اور مینی فائی کرنے کے لیے ڈیزائن کیا گیا ہے۔ جب آپ اس ٹول میں اپنا ڈیٹا پیسٹ کرتے ہیں یا فائل اپ لوڈ کرتے ہیں، تو یہ آپ کے ڈیٹا کا تجزیہ کرتا ہے اور اسے پڑھنے کے قابل بناتا ہے۔ اس کے علاوہ، یہ ٹول آپ کو مختلف انڈنٹیشن لیولز کے ساتھ فارمیٹنگ کرنے، غیر ضروری خالی جگہوں کو ختم کر کے مینی فائی کرنے، اور آبجیکٹ کی کلیدوں کو ترتیب دینے کی سہولت دیتا ہے۔

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

ڈیٹا ان پٹ اور فائل لوڈ کرنے کے اصول

اس ٹول میں ڈیٹا فراہم کرنے کے لیے درج ذیل طریقے اور اصول مقرر ہیں:

  • پیسٹ شدہ ڈیٹا: آپ ان پٹ ایریا میں براہ راست اپنا JSON ٹیکسٹ پیسٹ کر سکتے ہیں۔
  • فائل اپ لوڈ: آپ "فائل کھولیں" پر کلک کر کے یا فائل کو ڈریگ اینڈ ڈراپ کر کے .json یا .txt فائلیں کھول سکتے ہیں۔
  • فائل سائز کی حد: اس ٹول میں فائل لوڈ کرنے کی ایک مخصوص حد مقرر ہے۔ اگر فائل بہت بڑی ہو، تو ٹول "فائل بہت بڑی ہے — حد {limit} ہے۔" کا پیغام دکھاتا ہے۔
  • فائل کی قسم: صرف مخصوص فارمیٹس معاون ہیں۔ غیر معاون فائل منتخب کرنے پر "فائل کی قسم معاون نہیں —.json یا.txt فائل منتخب کریں۔" کا پیغام ظاہر ہوتا ہے۔
  • انکوڈنگ: فائل کا UTF-8 انکوڈڈ ہونا لازمی ہے۔ اگر فائل اس انکوڈنگ میں نہ ہو، تو "یہ فائل UTF-8 متن نہیں ہے، اس لیے اسے یہاں نہیں کھولا جا سکتا۔" کا ایرر ظاہر ہوتا ہے۔
  • پڑھنے کی خرابی: اگر فائل پڑھنے میں کوئی مسئلہ ہو، تو ٹول "یہ فائل پڑھی نہیں جا سکی۔ اسے دوبارہ منتخب کر کے دیکھیں۔" کا پیغام دکھاتا ہے۔
  • پروسیسنگ کی حد: اگر ان پٹ کا سائز 10 MiB کی انتہائی حد سے تجاوز کر جائے، تو ٹول "ان پٹ {limit} سے بڑا ہے، جو اس ٹول کی پروسیسنگ کی حد سے زیادہ ہے۔" کا پیغام ظاہر کرتا ہے۔
  • وقت کی حد: اگر ڈیٹا کی جانچ میں بہت زیادہ وقت لگے، تو پروسیسنگ روک دی جاتی ہے اور "اس JSON کی جانچ میں بہت زیادہ وقت لگا، اس لیے اسے روک دیا گیا۔ چھوٹی دستاویز آزمائیں۔" کا پیغام ظاہر ہوتا ہے۔

آؤٹ پٹ اور اسٹیٹس پیغامات

جب آپ ٹول میں کوئی عمل انجام دیتے ہیں، تو انٹرفیس پر درج ذیل پیغامات اور اسٹیٹس ظاہر ہوتے ہیں:

  • ابتدائی حالت: جب کوئی ڈیٹا نہ ہو تو "تیار ہے۔ JSON پیسٹ کریں اور ایک عمل منتخب کریں۔" کا پیغام نظر آتا ہے۔
  • فارمیٹنگ کے بعد: عمل مکمل ہونے پر "JSON فارمیٹ ہو گیا۔" ظاہر ہوتا ہے۔
  • مینی فائی کے بعد: عمل مکمل ہونے پر "JSON مینی فائی (minify) ہو گیا۔" کا پیغام ملتا ہے۔
  • ایڈیٹر صاف کرنے پر: جب آپ ڈیٹا صاف کرتے ہیں تو "ایڈیٹر صاف کر دیا گیا۔" ظاہر ہوتا ہے۔
  • خالی ان پٹ پر کارروائی: اگر آپ ڈیٹا کے بغیر کوئی عمل کرنے کی کوشش کریں گے تو "پہلے کچھ JSON پیسٹ کریں یا فائل کھولیں۔" کا نوٹس ظاہر ہوگا۔
  • فائل لوڈ ہونے پر: کامیابی سے فائل لوڈ ہونے پر "{name} ({size}) لوڈ ہو گئی۔" کا پیغام ملتا ہے۔
  • ڈاؤن لوڈ مکمل ہونے پر: فائل ڈاؤن لوڈ کرنے پر "{name} ڈاؤن لوڈ ہو گئی۔" ظاہر ہوتا ہے۔
  • کاپی کرنے پر: کلپ بورڈ پر ڈیٹا منتقل ہونے پر "کلپ بورڈ پر کاپی ہو گیا۔" کا پیغام ظاہر ہوتا ہے۔

اس کے علاوہ، ٹول ان پٹ کے اعداد و شمار بھی دکھاتا ہے جن میں "حروف"، "لائنیں" (Lines)، اور "سائز" (Size) شامل ہیں۔ آپ انٹرفیس کو "ڈارک ایڈیٹر" موڈ پر بھی تبدیل کر سکتے ہیں۔

ٹری ویو (Tree View) کا استعمال اور حدود

ڈیٹا کو بصری طور پر سمجھنے کے لیے ٹول میں "کوڈ" ویو کے ساتھ "ٹری (Tree)" ویو بھی دیا گیا ہے۔ ٹری ویو کے مخصوص اصول اور حدود درج ذیل ہیں:

  • درست ڈیٹا کی ضرورت: اگر JSON غیر درست ہو، تو ٹری ویو کام نہیں کرتا اور "اسے ٹری (tree) کے طور پر دیکھنے کے لیے JSON کو درست کریں۔" کا پیغام ظاہر ہوتا ہے۔
  • سائز کی حد: اگر ڈیٹا بہت بڑا ہو، تو ٹول "یہ JSON ٹری کے طور پر رینڈر کرنے کے لیے بہت بڑا ہے۔" کا پیغام دکھاتا ہے۔
  • نوڈز کی حد: اگر ڈیٹا میں ویلیوز کی تعداد بہت زیادہ ہو، تو "اس JSON میں اتنی زیادہ ویلیوز ہیں کہ اسے ٹری کے طور پر نہیں دکھایا جا سکتا۔" کا پیغام ظاہر ہوتا ہے۔
  • پھیلاؤ کی حد: جب آپ "سب پھیلائیں" بٹن دباتے ہیں اور ڈیٹا بہت بڑا ہو، تو ٹول اسے محدود کر کے "یہ JSON مکمل طور پر پھیلانے کے لیے بہت بڑا ہے — پہلی {count} قطاریں دکھائی جا رہی ہیں۔" کا پیغام دکھاتا ہے، جس کے بعد آپ "مزید {count} دکھائیں…" بٹن استعمال کر کے مزید ڈیٹا دیکھ سکتے ہیں۔

ٹری ویو میں آپ "کیز اور ویلیوز تلاش کریں" کا لیبل استعمال کر کے سرچ کر سکتے ہیں۔ سرچ کے نتائج کو "{total} میں سے {current}" یا نتائج زیادہ ہونے کی صورت میں "{total}+ میں سے {current}" کی شکل میں دکھایا جاتا ہے۔ اگر کوئی نتیجہ نہ ملے تو "کوئی مماثلت نہیں" ظاہر ہوتا ہے۔ آپ "پچھلی مماثلت" اور "اگلی مماثلت" کے بٹنوں سے نیویگیٹ کر سکتے ہیں۔

ہر نوڈ کے لیے آپ کو "{key} پھیلائیں" اور "{key} سکیڑیں" کے کنٹرولز ملتے ہیں۔ روٹ نوڈ کو "روٹ" کا لیبل دیا جاتا ہے۔ کسی بھی نوڈ پر کلک کر کے آپ "{key} کے لیے کاپی کے اختیارات" مینو کھول سکتے ہیں، جہاں سے آپ "ویلیو کاپی کریں"، "JSON Pointer کاپی کریں"، یا "JSONPath کاپی کریں" جیسے اختیارات منتخب کر سکتے ہیں۔

کلیدوں کو ترتیب دینا (Sort Keys)

اس ٹول میں آبجیکٹ کی کلیدوں کو ترتیب دینے کا ایک خاص فیچر موجود ہے۔ جب آپ "کلیدیں ترتیب دیں" کا بٹن دباتے ہیں، تو یہ آبجیکٹ کی کلیدوں کو کوڈ پوائنٹ ترتیب میں تکراری (recursively) طور پر ترتیب دیتا ہے۔

اس عمل کے دوران ارے (Array) کے اندر موجود عناصر کی ترتیب کبھی نہیں بدلتی۔ کلیدیں ترتیب دینے کے بعد ٹول "کلیدیں ترتیب دے دی گئیں — ارے کی ترتیب جوں کی توں ہے۔ واپس کرنے کے لیے Ctrl/Cmd+Z دبائیں۔" کا پیغام دکھاتا ہے تاکہ آپ چاہیں تو اس عمل کو فوری واپس لے سکیں۔

غیر معیاری فارمیٹس کی شناخت اور خودکار اصلاح

یہ ٹول نہ صرف معیاری JSON بلکہ مختلف غیر معیاری فارمیٹس کو بھی خودکار طور پر پہچانتا ہے اور انہیں درست کرنے کی پیشکش کرتا ہے:

غیر معیاری فارمیٹ کی شناخت ٹول کا پیغام اصلاح کا عمل اور اثر
Markdown کوڈ بلاک "یہ Markdown کوڈ باڑ کے اندر JSON لگتا ہے۔" "لاگو کرنے پر صرف باڑ کے اندر کا JSON رکھا جائے گا۔"
سٹرنگ میں ایسکیپڈ ڈیٹا "یہ کسی سٹرنگ کے اندر escape کیا گیا JSON لگتا ہے۔" "لاگو کرنے پر سٹرنگ un-escape ہو کر سادہ JSON بن جائے گی۔"
Python ڈکشنری "یہ JSON نہیں بلکہ Python طرز کی ڈکشنری لگتی ہے۔" "لاگو کرنے پر واوین اور True/False/None کو JSON کے طور پر دوبارہ لکھا جائے گا۔"
JSON Lines "یہ JSON Lines لگتا ہے — ہر سطر میں ایک قدر۔" "لاگو کرنے پر سطریں ایک JSON ارے میں سمیٹ دی جائیں گی۔"
JSONP کال بیک "یہ JSONP کال بیک میں لپٹا JSON لگتا ہے۔" "لاگو کرنے پر کال بیک ریپر ہٹا دیا جائے گا۔"
تبصروں والا JSON "یہ JSONC لگتا ہے — تبصرے یا آخری کوما موجود ہیں۔ سینٹیکس کو JSONC پر بدلیں یا اصلاح لاگو کریں۔" "لاگو کرنے پر تبصرے اور آخری کوما ہٹا دیے جائیں گے۔"

جب آپ "اصلاح کا پیش منظر" بٹن پر کلک کرتے ہیں، تو ایک پینل کھلتا ہے جس میں "اصل" اور "اصلاح کے بعد" کا موازنہ دکھایا جاتا ہے۔ اگر اصلاح کا حجم بہت بڑا ہو، تو "پیش منظر مختصر کیا گیا ہے — اصلاح پوری دستاویز پر لاگو ہوتی ہے۔" کا پیغام ظاہر ہوتا ہے۔

آپ "اصلاح لاگو کریں" پر کلک کر کے اسے لاگو کر سکتے ہیں، جس کے بعد "اصلاح لاگو ہو گئی۔ واپس کرنے کے لیے Ctrl/Cmd+Z دبائیں۔" کا پیغام ظاہر ہوتا ہے۔ اگر خودکار اصلاح ممکن نہ ہو، تو ٹول "یہ اِن پٹ خودکار طور پر درست نہیں ہو سکا۔" کا پیغام دکھاتا ہے۔

عام غلطیاں اور ان کی وجوہات

اگر آپ کا JSON غیر درست ہے، تو ٹول "غلط JSON" کا لیبل دکھائے گا اور غلطی کے مقام کی نشاندہی "لائن {line}، کالم {col}" کی شکل میں کرے گا۔ آپ "غلطی پر جائیں" بٹن کا استعمال کر کے براہ راست اس لائن پر پہنچ سکتے ہیں۔ ٹول درج ذیل مخصوص غلطیوں کی نشاندہی کرتا ہے:

  • آئٹمز کے درمیان کاما غائب ہونا: جب دو ویلیوز کے درمیان کاما نہ ہو تو "آئٹمز کے درمیان کاما غائب ہے" کا ایرر آتا ہے۔
  • اضافی کاما: اگر آخری عنصر کے بعد اضافی کاما ہو تو "بند ہونے والی بریکٹ سے پہلے اضافی کاما ہے" کا پیغام ملتا ہے۔
  • بغیر اقتباس کی کیز: اگر آبجیکٹ کی کیز ڈبل کوٹس میں نہ ہوں تو "آبجیکٹ کیز کو ڈبل کوٹس میں لکھنا ضروری ہے" کا ایرر ظاہر ہوتا ہے۔
  • کولن کا غائب ہونا: کی اور ویلیو کے درمیان کولن نہ ہونے پر "پراپرٹی کے نام کے بعد کولن غائب ہے" کا پیغام ملتا ہے۔
  • ادھوری سٹرنگ: اگر سٹرنگ کا آخری کوٹ غائب ہو تو "ایک سٹرنگ کا اختتامی کوٹ غائب ہے" کا ایرر آتا ہے۔
  • ادھورا ڈیٹا: اگر ڈیٹا اچانک ختم ہو جائے تو "JSON بہت جلد ختم ہو جاتا ہے — یہ ادھورا لگتا ہے" کا پیغام ظاہر ہوتا ہے۔
  • غیر متوقع حرف: اگر ویلیو کی جگہ کوئی غلط کیریکٹر ہو تو "جہاں ویلیو ہونی چاہیے وہاں غیر متوقع حرف ہے" کا ایرر ملتا ہے۔
  • بہت زیادہ گہرائی: اگر نیسٹنگ حد سے زیادہ ہو تو "یہ JSON اتنی گہرائی میں نیسٹڈ ہے کہ پروسیس نہیں ہو سکتا" کا پیغام ظاہر ہوتا ہے۔
  • ڈپلیکیٹ کیز: اگر ایک ہی آبجیکٹ میں ایک ہی نام کی دو کیز ہوں، تو یہ ٹول انہیں خاموشی سے ضم کرنے کے بجائے "ڈپلیکیٹ کی {key} — فارمیٹ کرنے سے پہلے ایک کو ہٹا دیں" کا ایرر دیتا ہے۔

پروسیسنگ اور رازداری کے اصول

اس ٹول کو استعمال کرتے وقت آپ کے ڈیٹا کی رازداری برقرار رہتی ہے۔ آپ کا JSON آپ کے براؤزر میں پروسیس کیا جاتا ہے۔ BroBroGo پر کچھ بھی اپ لوڈ نہیں کیا جاتا۔

جب ڈیٹا کا سائز 250,000 حروف سے کم ہوتا ہے، تو پروسیسنگ فوری اور ہم وقت ساز (synchronous) طریقے سے ہوتی ہے۔ یہ ٹول بڑے ہندسوں (large integers) کو بغیر کسی نقصان کے بالکل درست حالت میں برقرار رکھتا ہے۔

اکثر پوچھے گئے سوالات (FAQ)

کیا میرا JSON اپ لوڈ کیا جاتا ہے؟
نہیں۔ فارمیٹر آپ کے براؤزر میں چلتا ہے اور آپ کا JSON اپ لوڈ نہیں کرتا۔

Minify کیا کرتا ہے؟
Minify اسی JSON ڈیٹا کو برقرار رکھتے ہوئے غیر ضروری خالی جگہیں اور لائن بریکس ہٹا دیتا ہے۔

کیا یہ ٹول ڈپلیکیٹ کیز کو خودکار طور پر ضم کر دیتا ہے؟
نہیں۔ یہ ٹول ڈپلیکیٹ کیز کو خاموشی سے ضم یا نظر انداز کرنے کے بجائے ایرر دکھاتا ہے تاکہ آپ کا ڈیٹا خراب نہ ہو۔

کیا میں اس ٹول میں تبصروں والے JSON (JSONC) پر کام کر سکتا ہوں؟
جی ہاں، آپ سینٹیکس سلیکشن سے "JSONC" منتخب کر سکتے ہیں یا خودکار اصلاح کے ذریعے تبصرے اور آخری کوما ہٹا کر اسے معیاری JSON میں تبدیل کر سکتے ہیں۔