JSON کو CSV میں کیوں بدلیں؟
JSON وہ ہے جو APIs واپس کرتے ہیں۔ CSV وہ ہے جو اسپریڈ شیٹس کھولتی ہیں۔ ان دونوں کے درمیان تقریباً ہر تبدیلی ایک ہی مسئلے سے شروع ہوتی ہے: کسی کے پاس کسی API کا JSON جواب، ڈیٹابیس کا برآمد شدہ ڈیٹا یا کوئی لاگ فائل ہے، اور اسے یہ Excel، Google Sheets یا کسی ایسے BI ٹول میں چاہیے جس نے اندرونی آبجیکٹ کا نام تک نہیں سنا۔
جب JSON ایک جیسی کلیدوں والے آبجیکٹس کی ہموار صف ہو تو تبدیلی سیدھی سادی رہتی ہے۔ یہ اُسی لمحے پیچیدہ ہو جاتی ہے جب ریکارڈ ایک دوسرے کے اندر آ جائیں، کلیدیں ریکارڈ در ریکارڈ مختلف ہوں، یا ڈیٹا میں کوما، اقتباسات اور سطر توڑ آ جائیں — اور حقیقی ڈیٹا میں یہ ہمیشہ ہوتا ہے۔
یہ کنورٹر کیا قبول کرتا ہے
ان میں سے کوئی بھی شکل اوپر والے خانے میں پیسٹ کریں:
- آبجیکٹس کی ایک صف — API کے جواب کی عام شکل۔ ہر آبجیکٹ ایک قطار بنتا ہے اور ہر کلید ایک کالم۔
- صفوں کی ایک صف — پہلے سے قطار کی شکل میں، براہِ راست تبدیل ہو جاتی ہے۔
- ایک واحد آبجیکٹ — ایک قطار میں بدل جاتا ہے۔
ضروری نہیں کہ کلیدیں تمام ریکارڈز میں ایک جیسی ہوں۔ کنورٹر ہر ملنے والی کلید جمع کرتا ہے اور جہاں کسی ریکارڈ میں وہ کلید نہ ہو وہاں خانہ خالی چھوڑ دیتا ہے، بجائے اس کے کہ کالم گرا دے یا ناکام ہو جائے۔
اندرونی آبجیکٹس کو سنبھالنا
اندرونی ساخت ہی وہ جگہ ہے جہاں زیادہ تر کنورٹر یا تو ہار مان لیتے ہیں یا خاموشی سے ڈیٹا بگاڑ دیتے ہیں۔ یہاں آپ کو دو اختیار ملتے ہیں۔
نقطے والے کالموں میں ہموار کریں اندرونی آبجیکٹس کے اندر جا کر راستے سے کالم کے نام بناتا ہے۔ {"user":{"name":"Ada","city":"London"}} جیسا ریکارڈ دو کالم بن جاتا ہے، user.name اور user.city۔ عموماً یہی مطلوب ہوتا ہے، کیونکہ نتیجہ واقعی جدول کی شکل کا ہوتا ہے اور ہر قدر اسپریڈ شیٹ میں چھانی اور ترتیب دی جا سکتی ہے۔
ایک خانے میں JSON کے طور پر رکھیں اندرونی ساخت کو ایک ہی خانے کے اندر سلسلہ وار محفوظ چھوڑ دیتا ہے۔ یہ اُس وقت مفید ہے جب اندرونی حصہ ایسا پے لوڈ ہو جسے آپ تجزیہ کرنے کے بجائے جوں کا توں محفوظ رکھنا چاہتے ہوں — مثلاً ترتیبات کا کوئی بلاک جو آپ کسی دوسرے نظام میں واپس ڈالنا چاہتے ہوں۔
وہ چار اختیارات جو طے کرتے ہیں کہ Excel آپ کی فائل درست کھولے گا یا نہیں
جداکار
کوما معیاری ہے، مگر یورپ کے بڑے حصے میں یہ غلط انتخاب ہے۔ جن لوکیلز میں کوما اعشاریے کا جداکار ہے، وہاں Excel سیمی کولن والی فائلوں کی توقع رکھتا ہے اور ورنہ ہر قطار ایک ہی کالم میں ٹھونس دے گا۔ جب آپ کے ڈیٹا میں خود رموزِ اوقاف ہوں تو ٹیب اور پائپ سب سے محفوظ انتخاب ہیں۔
UTF-8 BOM شامل کریں
یہ CSV فائلوں کے سب سے عام شکوے کا حل ہے: اعراب والے حروف اور غیر لاطینی رسم الخط Excel میں کھلنے پر بگڑی ہوئی علامتوں کے طور پر آنا۔ Excel UTF-8 فرض نہیں کرتا، اور بائٹ آرڈر مارک کے بغیر اندازہ لگاتا ہے — عموماً غلط۔ اگر آپ کے ڈیٹا میں سادہ ASCII سے آگے کچھ بھی ہو تو اسے فعال کر دیں۔
ہر خانے کو اقتباس میں رکھیں
بطور ڈیفالٹ صرف اُنہی خانوں کو اقتباس ملتا ہے جنہیں ضرورت ہو۔ ہر چیز کو اقتباس میں رکھنے سے فائل بڑی ہو جاتی ہے مگر ہر ابہام ختم ہو جاتا ہے، جو کچھ سخت پارسرز کو پسند ہے۔
اسپریڈ شیٹ فارمولے بے اثر کریں
یہ ترتیب کی ترجیح کے بجائے ایک سیکیورٹی انتظام ہے، اور اپنے الگ حصے کا مستحق ہے۔
CSV انجیکشن، اور فارمولے والا اختیار کیوں اہم ہے
اگر کسی خانے کی قدر =، +، - یا @ سے شروع ہو، تو Excel اور Google Sheets اسے عبارت کے بجائے فارمولا سمجھتے ہیں۔ یہ ایک حقیقی حملے کا راستہ ہے: جو حملہ آور آپ کے ڈیٹابیس میں عبارت پہنچا سکتا ہو — کسی سائن اپ فارم، معاونت کی درخواست یا مصنوعات کے تبصرے کے ذریعے — وہ ایسی قدر رکھ سکتا ہے جو اُس وقت چل جائے جب کوئی ڈیٹا برآمد کر کے اسپریڈ شیٹ میں کھولے۔ یہ طریقہ خوب دستاویزی ہے اور عام طور پر اسے CSV انجیکشن یا فارمولا انجیکشن کہا جاتا ہے۔
اسپریڈ شیٹ فارمولے بے اثر کریں فعال کرنے سے ایسی قدروں کے آگے ایک سابقہ لگ جاتا ہے تاکہ اسپریڈ شیٹ انہیں سادہ عبارت سمجھے۔ اگر آپ جو JSON بدل رہے ہیں اُس میں صارف کے ان پٹ سے آنے والی کوئی بھی چیز ہو، تو اسے فعال رہنے دیں۔ اس کی قیمت چند خانوں پر ایک بے ضرر سابقہ ہے؛ متبادل یہ ہے کہ کسی اجنبی کا فارمولا آپ کی مشین پر چل جائے۔
JSON کو CSV میں کیسے بدلیں
- اپنا JSON ان پٹ خانے میں پیسٹ کریں۔
- جداکار چنیں، اور طے کریں کہ اندرونی قدروں کو کیسے سنبھالا جائے۔
- سرخی کی قطار، اقتباس، BOM اور فارمولے کے اختیارات اُس جگہ کے مطابق مقرر کریں جہاں فائل جا رہی ہے۔
- تبدیل کریں، پھر نتیجہ کاپی کریں یا
.csv فائل کے طور پر ڈاؤن لوڈ کر لیں۔
سب کچھ آپ کے براؤزر میں چلتا ہے۔ JSON اپ لوڈ نہیں ہوتا، اور یہ بات اُس وقت اہم ہے جب آپ کوئی ایسا API جواب بدل رہے ہوں جس میں گاہکوں کے ریکارڈ، ٹوکن یا اندرونی شناخت کار ہوں۔