← تمام ٹولز

CSV سے JSON کنورٹر

اپنے براؤزر میں ہی CSV کو JSON اور JSON کو CSV میں تبدیل کریں۔ قطاریں اور ہیڈرز صاف طریقے سے میپ کریں، کوٹڈ فیلڈز اور ڈیلیمیٹرز سنبھالیں، ڈیٹا مقامی رکھیں۔

CSV اور JSON: ایک ہی ڈیٹا لے جانے کے دو طریقے

زیادہ تر جدولی ڈیٹا دو فارمیٹس میں سے کسی ایک میں رہتا ہے۔ CSV اسپریڈشیٹ کی مقامی زبان ہے: ایک سادہ ٹیکسٹ فائل جہاں ہر لائن ایک قطار ہے اور کاما کالمز کو الگ کرتے ہیں۔ JSON APIs اور ایپس کی زبان ہے: ایک ساختی ٹیکسٹ فارمیٹ جو آبجیکٹس (کلید اور قدر کے جوڑے) اور اریز (ترتیب شدہ فہرستیں) سے بنا ہے۔ وہ ایک ہی معلومات کو بہت مختلف شکلوں میں بیان کرتے ہیں، یہی وجہ ہے کہ ان کے درمیان تبدیلی اتنی بار درپیش آتی ہے۔ یہ صفحہ دونوں سمتوں میں تبدیلی کرتا ہے، مکمل طور پر آپ کے براؤزر کے اندر۔

CSV جہاں بھی گرڈ قدرتی محسوس ہو وہاں چمکتا ہے۔ ڈیٹا بیس سے رپورٹ ایکسپورٹ کریں، آرڈرز کی فہرست ڈاؤن لوڈ کریں، یا Excel یا Google Sheets سے کوئی شیٹ محفوظ کریں، اور آپ کو تقریباً ہمیشہ CSV ملتی ہے۔ یہ کمپیکٹ، انسانی طور پر پڑھنے کے قابل ہے، اور زمین پر ہر تجزیاتی ٹول اسے کھول سکتا ہے۔ JSON جہاں بھی سافٹ ویئر سافٹ ویئر سے بات کرتا ہو وہاں چمکتا ہے۔ REST APIs اسے بھیجتے اور وصول کرتے ہیں، کنفیگریشن فائلیں اسے استعمال کرتی ہیں، اور JavaScript اسے بغیر کسی پارسنگ لائبریری کے پڑھتا ہے۔ جب آپ کو اسپریڈشیٹ ایکسپورٹ کو کسی API میں کھلانا ہو یا API کا جواب کسی اسپریڈشیٹ میں لانا ہو، تو آپ اصل میں انہی دو دنیاؤں کے درمیان ترجمہ کر رہے ہوتے ہیں۔

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

قطاریں اور ہیڈرز آبجیکٹس کیسے بنتے ہیں

نقشہ بندی اس سے سادہ ہے جتنی نظر آتی ہے۔ CSV فائل کی پہلی لائن عام طور پر ہیڈر قطار ہوتی ہے، اور وہ ہیڈر نام JSON میں کلیدیں بن جاتے ہیں۔ اگلی ہر قطار ایک آبجیکٹ بنتی ہے، جہاں ہر خانہ متعلقہ ہیڈر کے ساتھ جوڑا جاتا ہے۔ پوری فائل ان آبجیکٹس کی ایک اری بن جاتی ہے۔ چنانچہ کالمز name,email,age والی CSV ایک فہرست میں بدل جاتی ہے جیسے [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]۔ دوسری سمت جاتے ہوئے، JSON سے CSV پہلی آبجیکٹ کی کلیدیں پڑھ کر ہیڈر لائن بناتا ہے، پھر ہر آبجیکٹ کے لیے ایک قطار لکھتا ہے۔ یہ ایک صاف، متوقع سفر ہے جب تک آپ کا ڈیٹا حقیقی طور پر جدولی ہو۔

جاننے کے قابل مشکلات

CSV سادہ نظر آتی ہے مگر چند تیز کنارے چھپاتی ہے۔ سب سے بڑا مسئلہ کسی خانے کے اندر کاما کا ہونا ہے۔ اگر ایک پتے میں "Berlin, Germany" شامل ہو، تو کاما پر سادہ تقسیم اس واحد قدر کو دو کالموں میں پھاڑ دے گی۔ CSV معیار اس مسئلے کو ایسے خانوں کو ڈبل کوٹس میں لپیٹ کر حل کرتا ہے، اور ایک کوٹ شدہ خانے کے اندر کوٹس کو دگنا کر دیا جاتا ہے ("")۔ ایک اچھا کنورٹر ان قواعد کا احترام کرتا ہے تاکہ آپ کا ڈیٹا خاموشی سے کالم تبدیل نہ کرے۔ ڈیلیمیٹر پر بھی نظر رکھیں: بہت سے یورپی ایکسپورٹس کاما کے بجائے سیمی کولن استعمال کرتے ہیں، کیونکہ وہاں کاما پہلے سے اعشاریہ علیحدہ کنندہ ہے۔ ٹیبز اور پائپس بھی نظر آتے ہیں۔

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

اسپریڈشیٹ گرڈ سیان اور سنہری رنگوں میں JSON بریکٹس کے چمکتے درخت میں بدل رہی ہے
ایک اسپریڈشیٹ گرڈ JSON بریکٹس کے ایک شاخ دار درخت میں تبدیل ہو رہی ہے۔

ایک حقیقی سفر

یہاں ایک منظر نامہ ہے جو مستقل طور پر پیش آتا ہے۔ ایک ساتھی آپ کو نئے صارفین کی ایک اسپریڈشیٹ بھیجتا ہے اور آپ سے کہتا ہے کہ انہیں کسی اندرونی API کے ذریعے لوڈ کریں۔ API صرف JSON قبول کرتا ہے۔ آپ شیٹ کو CSV میں ایکسپورٹ کرتے ہیں، اسے یہاں پیسٹ کرتے ہیں، اور واپس ایک صاف ستھری آبجیکٹس کی اری ملتی ہے جو آپ کی درخواست میں ڈالنے کے لیے تیار ہے۔ بعد میں، API ان ریکارڈز کی ایک JSON فہرست واپس کرتا ہے جو اس نے بنائے، اور آپ کو وہ اسی ساتھی کو جائزے کے لیے واپس دینی ہوتی ہے۔ آپ JSON پیسٹ کرتے ہیں، اسے CSV میں تبدیل کرتے ہیں، اور یہ سیدھا ان کی اسپریڈشیٹ میں کھل جاتی ہے۔ کوئی اسکرپٹس نہیں، کوئی انسٹال نہیں، صرف ایک عام ورک فلو کے درمیان دو تیز ترجمے۔

مقامی طور پر ہی، جان بوجھ کر

یہ سب کچھ آپ کے براؤزر میں چلتا ہے۔ آپ کی CSV اور JSON آپ کی اپنی مشین پر JavaScript کے ذریعے پارس اور تبدیل ہوتی ہیں، اور کچھ بھی سرور پر اپلوڈ نہیں ہوتا۔ یہ اہمیت رکھتا ہے کیونکہ ایکسپورٹس میں اکثر حقیقی نام، ای میلز، آرڈر کی تفصیلات، یا اندرونی شناخت کنندگان ہوتے ہیں جنہیں آپ کو کسی بھی دور دراز سروس میں پیسٹ نہیں کرنا چاہیے۔ یہاں ڈیٹا کبھی صفحے سے باہر نہیں جاتا۔ اگر آپ بعد میں نتیجے کو صاف کرنا چاہتے ہیں، تو ہمارا JSON فارمیٹر اسے خوبصورتی سے پرنٹ اور توثیق کرے گا، اور آپ متعلقہ فارمیٹس کے لیے ہمارے باقی ڈیٹا کنورٹرز دیکھ سکتے ہیں۔

اکثر پوچھے جانے والے سوالات

کیا میرا ڈیٹا کہیں اپلوڈ ہوتا ہے؟

نہیں۔ تبدیلی مکمل طور پر آپ کے براؤزر میں JavaScript کا استعمال کرتے ہوئے چلتی ہے، اس لیے آپ کی CSV اور JSON آپ کی اپنی ڈیوائس پر رہتی ہیں اور کبھی کسی سرور پر نہیں بھیجی جاتیں۔

کیا کنورٹر خانوں کے اندر کاما سنبھالتا ہے؟

جی ہاں۔ خانے جن میں کاما ہو انہیں CSV میں ڈبل کوٹس میں لپیٹا جانا چاہیے، اور پارسر ان کوٹس کا احترام کرتا ہے تاکہ قدر ایک ہی کالم میں رہے۔

JSON میں میرے نمبر متن کے طور پر کیوں ظاہر ہو رہے ہیں؟

CSV میں کوئی ڈیٹا اقسام نہیں ہوتیں، اس لیے ہر خانہ سادہ متن ہے۔ قدریں JSON سٹرنگز بن جاتی ہیں جب تک نمبر اور بولین کی تشریح لاگو نہ کی جائے، کیونکہ ماخذ فائل نمبر اور لفظ میں فرق بتانے کا کوئی طریقہ نہیں دیتی۔

جب میں CSV میں تبدیل کرتا ہوں تو تہہ دار JSON کا کیا ہوتا ہے؟

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

کیا میں کاما کے بجائے سیمی کولن یا ٹیب استعمال کر سکتا ہوں؟

جی ہاں۔ بہت سے ایکسپورٹس، خاص طور پر یورپی، سیمی کولن یا ٹیبز کو ڈیلیمیٹر کے طور پر استعمال کرتے ہیں، اور ٹول انہیں معیاری کاما کے بجائے پڑھ سکتا ہے۔

کیا یہ دونوں سمتوں میں تبدیل کرتا ہے؟

جی ہاں۔ آپ CSV کو JSON میں اور JSON کو واپس CSV میں تبدیل کر سکتے ہیں، جو اسپریڈشیٹس اور APIs کے درمیان سفر آسان بناتا ہے۔