§

وہ JSON اری پیسٹ کریں جسے آپ CSV میں تبدیل کرنا چاہتے ہیں۔

ڈیلیمیٹر
ہیڈر کالم
پہلی روی ہیڈر ہے
نیسٹڈ آبجیکٹس
ٹائپ کوئرشن
§

Output

csv

Pakistan میں JSON کو CSV میں بدلنا روزانہ کا کام ہے: API ایک JSON اری واپس کرتا ہے اور finance یا ops ٹیم کو وہ Excel یا Google Sheets میں دوپہر سے پہلے چاہیے۔ PBS کے مردم شماری، CPI اور لیبر فورس سروے CSV میں آتے ہیں، State Bank of Pakistan کا data archive شرح سود اور forex time series شائع کرتا ہے، اور FBR کی tax exports بھی CSV میں ہوتی ہیں — سب JSON میں بدل کر dashboards میں ڈالے جاتے ہیں۔ یہ کنورٹر فلیٹننگ مقامی طور پر کرتا ہے تاکہ حساس مالی یا شہری ڈیٹا کبھی کسی بیرونی سرور تک نہ پہنچے۔

JSON to CSV کنورژن کیا ہے؟

JSON (JavaScript Object Notation، RFC 8259) منظم ڈیٹا کے لیے درخت نما ٹیکسٹ فارمیٹ ہے؛ CSV (کاما سے علیحدہ ویلیوز، RFC 4180) ایک سپاٹ، جدولی ٹیکسٹ فارمیٹ ہے۔ JSON کو CSV میں بدلنے سے وہ درخت صفوف اور کالموں میں فلیٹ ہو جاتا ہے تاکہ API ریسپانس سے شروع ہونے والا ڈیٹاسیٹ ایک بھی روی دوبارہ ٹائپ کیے بغیر سپریڈشیٹ میں کھل سکے۔

JSON to CSV کنورژن کیسے کام کرتی ہے؟

ہر کنورژن مقامی طور پر آپ کے براؤزر میں چلتی ہے۔ بلند سطحی مراحل یہ ہیں:

  1. JSON.parse ان پٹ کی تصدیق کرتا ہے اور تصدیق کرتا ہے کہ وہ سب سے اوپر کی سطح پر ریکارڈز کی اری ہے۔ اگر بریکٹ، کاما یا کوٹڈ کیز درست نہ ہوں تو واضح خامی ظاہر ہوتی ہے۔
  2. رائٹر آپ کے ریکارڈز سے ہیڈر کالم اخذ کرتا ہے: یا تو تمام کیز کا اتحاد، یا صرف پہلے ریکارڈ کی کیز — آپ کی پسند پر۔
  3. نیسٹڈ آبجیکٹس ڈاٹ کیز میں فلیٹن ہوتے ہیں (user.id، user.city) یا ایک JSON سیل کے طور پر سٹرنگیفائی — آپ کے انتخاب پر۔ آبجیکٹس کے اندر اریز ہمیشہ JSON میں سلسلہ بند ہوتی ہیں۔
  4. ہر سیل RFC 4180 کے مطابق ایسکیپ ہوتا ہے: جس قیمت میں ڈیلیمیٹر، ڈبل کوٹ یا لائن بریک ہو اسے کوٹس میں لپیٹا جاتا ہے اور اندرونی کوٹس دوہری کی جاتی ہیں۔ رویز پر ختم ہوتی ہیں۔
  5. CSV آؤٹ پٹ صرف پڑھنے والے ٹیکسٹ ایریا میں لکھا جاتا ہے اور ڈاؤن لوڈ لنک درست MIME ٹائپ (text/csv;charset=utf-8) کے ساتھ Blob بناتا ہے تاکہ آپ فائل ایک کلک سے محفوظ کر سکیں۔

اس ٹول سے JSON کو CSV میں کیوں بدلیں؟

  • رازداری: ہر پارس، فلیٹن اور رائٹ پاس آپ کے براؤزر میں ہوتا ہے۔ ڈیٹا کبھی ہمارے سرورز تک نہیں پہنچتا۔
  • درستگی: رائٹر RFC 4180 کی پیروی کرتا ہے۔ Bob, Jr. جیسی قیمت "Bob, Jr." بنتی ہے — دو کالم نہیں، ایک کوٹڈ سیل — اور ایمبیڈڈ نئی لائنیں اور کوٹس پوری جولت میں سلامت رہتی ہیں۔
  • سپریڈشیٹ کے لیے تیار: آؤٹ پٹ براہِ راست Excel یا Google Sheets میں پیسٹ ہوتا ہے، ہیڈر کالم آپ کی کیز سے پہلے سے اخذ شدہ، لہٰذا ڈیٹا قابلِ استعمال ہونے سے پہلے کوئی دستی صفائی نہیں۔
  • لچک: نیسٹڈ آبجیکٹس کے لیے فلیٹن اور سٹرنگیفائی کے درمیان سوئچ کریں، غیر کاما CSV لہجوں کے لیے کوئی بھی ڈیلیمیٹر چنیں، اور طے کریں کہ ہیڈر تمام کیز سے آئیں یا صرف پہلے ریکارڈ سے۔

JSON to CSV کنورژن کے عام استعمال کیا ہیں؟

JSON کو CSV میں فلیٹن کرنا ڈیٹا کے کام اور ٹولنگ میں ہر جگہ نظر آتا ہے:

  • ڈیٹا ایکسپورٹ: API ریسپانس کو CSV فائل میں بدلنا جسے آپ کی فنانس، آپس یا پروڈکٹ ٹیم Excel یا Google Sheets میں بغیر کوڈ لکھے کھول سکتی ہے۔
  • رپورٹنگ: JSON کوئری نتیجے کو سپریڈشیٹ میں ڈالنا تاکہ پیوٹ ٹیبل، چارٹ یا فارمولوں کی ایک کالم بنائی جا سکے۔ خام JSON پر اس قسم کا کام تکلیف دہ ہے۔
  • سپریڈشیٹ جائزہ: نیسٹڈ JSON کنفگ (سیٹنگز، فیچر فلیگز، A/B ویریئنٹس) کو CSV میں فلیٹن کرنا تاکہ غیر تکنیکی جائزہ کار سیل بہ سیل پڑھ اور ترمیم کر سکیں۔

JSON to CSV کی مثال کیسی دکھتی ہے؟

[{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] پیسٹ کریں، ڈیلیمیٹر کاما رہنے دیں، اور CONVERT دبائیں۔ تین لائنیں ملتی ہیں: ایک name,age ہیڈر روی، ایک Alice,30 ڈیٹا روی، اور ایک "Bob, Jr.",25 روی۔ ایمبیڈڈ کاما وہی چیز ہے جو سادہ join میں خرابی پیدا کرتی ہے — یہاں RFC 4180 کوٹنگ چالو ہوتی ہے تاکہ سیل پوری رہے۔

کیا یہ JSON to CSV کنورٹر مکمل طور پر میرے براؤزر میں چلتا ہے؟

ہاں۔ ہر پارس، فلیٹن اور رائٹ پاس آپ کے براؤزر ٹیب کے اندر جاوا اسکرپٹ کے طور پر مقامی طور پر چلتا ہے۔ ٹول fetch، XMLHttpRequest یا navigator.sendBeacon کو بالکل کال نہیں کرتا — آپ کے JSON پے لوڈز کبھی ہمارے سرورز، کسی تیسرے فریق کے کنورٹر یا کسی تجزیاتی پائپ لائن تک نہیں پہنچتے۔ ٹول صفحہ لوڈ ہونے کے بعد آف لائن بھی کام کرتا ہے، کیونکہ یہ بغیر کسی رن ٹائم API انحصار کے ایک سٹیٹک HTML/CSS/JS بنڈل ہے۔

یہ کنورٹر زیادہ سے زیادہ کتنا بڑا ان پٹ سنبھال سکتا ہے؟

کنورٹر مکمل ان پٹ کو میموری میں بفر کرتا ہے اور مین تھریڈ پر سنکرونس طور پر چلتا ہے، لہٰذا عملی حدود آپ کے ڈیوائس پر منحصر ہیں۔ تقریباً 10 MB تک JSON (تقریباً 100,000 عام رویز) جدید لیپ ٹاپ پر نمایاں رکاوٹ کے بغیر تبدیل ہو جاتا ہے۔ اس سے آگے UI رائٹر چلتے وقت رک سکتا ہے۔ Web Worker اور چنک شدہ رائٹر کا استعمال کرتے ہوئے سٹریم شدہ کنورژن منصوبہ بند فالو اپ ہے — فی الحال، پیسٹ کرنے سے پہلے بہت بڑے ڈیٹاسیٹس کو تقسیم کریں۔

رائٹر کاما، کوٹس یا نئی لائنوں والی قیمتوں کو کیسے سنبھالتا ہے؟

RFC 4180 کے مطابق۔ جس قیمت میں فعال ڈیلیمیٹر، ڈبل کوٹ، CR یا LF ہو اسے ڈبل کوٹس میں لپیٹا جاتا ہے اور اندرونی کوٹس دوہری کی جاتی ہیں۔ یعنی Bob, Jr. جیسا نام "Bob, Jr." واحد سیل بن جاتا ہے نہ کہ دو کالم، اور کثیر لائن وضاحت ایک سیل میں رہتی ہے روی ٹوٹے بغیر۔ یہی وہ جگہ ہے جہاں سادہ join('',') غلطی کرتا ہے۔

CSV میں تبدیلی کرتے وقت نیسٹڈ JSON آبجیکٹس کا کیا ہوتا ہے؟

نیسٹڈ آبجیکٹس نیسٹڈ آبجیکٹس ٹوگل کے مطابق سنبھالے جاتے ہیں۔ فلیٹن موڈ (ڈیفالٹ) میں کیز ڈاٹ سے جوڑی جاتی ہیں — {"user":{"id":1,"city":"Paris"}} user.id اور user.city کالم بن جاتا ہے۔ اسٹرنگیفائی موڈ میں نیسٹڈ آبجیکٹ کو RFC 4180 کوٹ ایسکیپنگ کے ساتھ ایک واحد JSON سیل ویلیو کے طور پر سیریلائز کیا جاتا ہے، جس سے راؤنڈ ٹرپ کے لیے اس کی ساخت محفوظ رہتی ہے۔ آبجیکٹس کے اندر اریز دونوں موڈز میں JSON-اسٹرنگیفائی ہوتی ہیں۔

CSV آؤٹ پٹ کن ڈیلیمیٹرز کو سپورٹ کرتا ہے؟

چار: کاما (,، RFC 4180 ڈیفالٹ)، سیمی کولن (;، یورپی لوکیلز میں عام)، ٹیب (\t، TSV لہجہ)، اور پائپ (|)۔ وہ چنیں جو آپ کا ڈاؤن اسٹریم ٹول توقع کرتا ہے۔ رائٹر منتخب ڈیلیمیٹر والے ہر سیل کو ایسکیپ کرتا ہے تاکہ انتخاب کبھی قیمت خراب نہ کرے۔

یہ JSON to CSV کنورٹر آپ کی اری فلیٹن کر کے RFC 4180 کے مطابق آؤٹ پٹ تیار کرتا ہے جسے آپ سپریڈشیٹ، رپورٹ یا کوڈ ریویو میں براہ راست پیسٹ کر سکتے ہیں — بغیر ایک بائٹ بھی اپلوڈ کیے۔ الٹی سمت چاہیے؟ CSV to JSON کنورٹر دوسری طرف پارس کرتا ہے۔