XML کو JSON میں تبدیل کرنا Extensible Markup Language ↔ JavaScript Object Notation مفت آن لائن محفوظ
ایک XML فائل چھوڑیں اور JSON لے جائیں۔ پڑھنا اور لکھنا یہیں، آپ کے براؤزر میں ہوتا ہے، سو فائل آپ کے آلے سے باہر نہیں جاتی — اور یہ سفر کیا بچاتا ہے اور کیا نہیں، وہ نیچے لکھا ہے، آپ کے دریافت کرنے پر نہیں چھوڑا گیا۔
اپنی فائل بدلیے
یہاں ایک XML فائل چھوڑیں، یا کوئی چنیں۔
آپ کی فائل اس آلے سے باہر نہیں جاتی۔ سب کچھ آپ کے براؤزر میں چلتا ہے۔
کچھ بھی اپ لوڈ نہیں
XML سے تبدیلی
XML میں تبدیلی
یہ صورتیں کہاں سے آئیں
CSV سب سے پرانی اور سب سے کم معیار بند ہے: ایک جدول جو متن کی سطروں کی صورت لکھا گیا، 1970ء کی دہائی سے زیرِ استعمال اور تحریری طور پر بیان ہوا 2005ء میں، جب تک ہر پروگرام خود ہی طے کر چکا تھا کہ جدا کرنے والا نشان کیا ہے اور واوین کب لگانے ہیں۔ XML 1998ء میں SGML سے نکلا، ایسی دستاویزوں کے لیے جنہیں سخت ساخت اٹھانی ہو اور کسی خاکے پر پرکھا جانا ہو۔ JSON کو ڈگلس کراک فورڈ نے 2001ء کے آس پاس جاوا اسکرپٹ سے کھینچ نکالا، جان بوجھ کر اسے اشیا، فہرستوں، اعداد اور حرفی لڑیوں تک گھٹا دیا — اور یہی سادگی ویب پر اس کے غلبے کا سبب ہے۔ YAML اس کا پڑھنے کے قابل عم زاد ہے، جہاں اندر کی جگہ وہ کام کرتی ہے جو کہیں اور قوسین کرتے ہیں۔ ان کے درمیان تبدیلی میں بس ایک بات اہم ہے: CSV چپٹی ہے، سطروں اور کالموں کی جالی؛ جبکہ JSON، XML اور YAML درخت ہیں۔
آپ انہیں کہاں ملتے ہیں
CSV وہ ہے جو حسابی شیٹ برآمد کرتی ہے اور جو کوئی محاسب، کوئی دکان کا پلیٹ فارم یا بینک کا گوشوارہ آپ کو تھماتا ہے۔ JSON وہ زبان ہے جو ویب کی خدمات آپس میں بولتی ہیں، اور ترتیبات کی فائلیں بھی بڑھتے بڑھتے اسی میں لکھی جاتی ہیں۔ XML پرانے ادارہ جاتی نظاموں میں، بل سازی کے معیاروں میں، اور خود دفتری صورتوں کے اندر زندہ ہے۔ YAML وہ جگہ ہے جہاں انسان ہاتھ سے ترتیبات لکھتے ہیں۔ ان کے درمیان تبدیلی روز کا وہ کام ہے جو اعداد و شمار کو اُن کی جائے پیدائش سے وہاں لے جاتا ہے جہاں ان کی ضرورت ہے۔
اکثر پوچھے جانے والے سوالات
میری CSV ایکسل میں ایک ہی کالم کے طور پر کھلی۔ کیوں؟
کیونکہ آپ کی حسابی شیٹ کسی اور جدا کرنے والے نشان کی منتظر تھی۔ ایکسل کمپیوٹر کی علاقائی ترتیبات کے فہرستی نشان کی پیروی کرتا ہے، اور وہ ہر اُس جگہ سیمی کولن ہوتا ہے جہاں کاما پہلے ہی اعشاریے کا نشان ہے — یعنی برِاعظمی یورپ کے بڑے حصے میں۔ تب کاموں سے جدا کی گئی فائل متن کے ایک ہی کالم جیسی دکھتی ہے۔ فائل پر دو بار کلک کرنے کے بجائے درآمد کی کھڑکی برتیں اور نشان صراحتاً بتائیں۔ اسی علاقائی ترتیب سے یہ بھی ہوتا ہے کہ 3.5 کبھی تاریخ بن کر پہنچ جاتا ہے۔
میرا تہ در تہ JSON صاف ستھری حسابی شیٹ کیوں نہیں بن پاتا؟
کیونکہ حسابی شیٹ چپٹی ہے اور JSON ایک درخت۔ ایک سطر ہر کالم کے لیے ایک قدر رکھتی ہے؛ جبکہ JSON کی ایک شے کسی خانے کے اندر کی فہرست کے اندر ایک اور فہرست رکھ سکتی ہے۔ تبدیلی کا مطلب ہے یہ چننا کہ اسے کیسے چپٹا کیا جائے: یا تو تہ در تہ ناموں کو جوڑ کر ایک لمبا کالم عنوان بنا دیں، یا والدین والی سطر کو ہر بچے کے لیے ایک بار دہرا دیں۔ دونوں سمجھوتے ہیں، اور کوئی بھی خودبخود واپس نہیں ہو سکتا — اسی لیے حسابی شیٹ سے اصل شکل کی طرف لوٹنے کے لیے عموماً انسانی فیصلہ درکار ہوتا ہے۔
کیا فائل کا معیار گرتا ہے؟
یہ اس پر منحصر ہے کہ دونوں صورتیں کیا سنبھال سکتی ہیں۔ ایسی صورتوں کے بیچ تبدیلی جو ایک ہی چیز رکھتی ہوں — PNG سے BMP، WAV سے FLAC — کچھ نہیں کھوتی۔ ایسی صورت میں بدلنا جو جگہ بچانے کے لیے معلومات پھینک دے، جیسے JPEG یا MP3، ہر بار تھوڑا کھوتا ہے، اور واپس بدلنے سے وہ لوٹتا نہیں۔ جہاں چناؤ ممکن ہو، یہ صفحہ سب سے چھوٹی فائل بنانے کے بجائے اصل معیار برقرار رکھنے کی طرف جھکتا ہے۔
کیا میری فائل کہیں اپ لوڈ ہوتی ہے؟
نہیں۔ تبدیلی آپ ہی کی مشین پر، آپ کے براؤزر کے اندر ہوتی ہے؛ فائل وہاں سے کبھی باہر نہیں جاتی، اور یہاں کوئی سرور ہے ہی نہیں جو اسے لے سکے۔ اسی لیے بڑی فائل کو اپ لوڈ نہیں بلکہ آپ کی اپنی یادداشت محدود کرتی ہے، اور اسی لیے جو کچھ آپ بدلتے ہیں وہ کسی کے ریکارڈ میں نہیں آ سکتا — ہمارے ریکارڈ میں بھی نہیں۔ البتہ آواز اور فلم کے اوزار پہلی بار استعمال پر اپنا تبدیلی کا انجن اِسی سائٹ سے لاتے ہیں — تقریباً تیس میگابائٹ، صرف ایک بار؛ اس کے بعد بھی کام سارا آپ ہی کی مشین پر ہوتا ہے۔
لوگ XML کو JSON میں کیوں تبدیل کرتے ہیں
XML ساختی ڈیٹا کا بزرگ ہے۔ بیس سال سے زیادہ سے اس نے ترتیب کی فائلیں، مصنوعات کی فیڈ، انوائس، سائٹ میپ، خبروں کی فیڈ، اکاؤنٹنگ پروگراموں کی برآمدات اور پرانی ویب خدمات کے جوابات اٹھائے ہیں۔ یہ درست اور طویل ہے، ایسے ٹیگوں میں لکھا جو کھلتے اور بند ہوتے ہیں۔ JSON اس کا جوان حریف ہے: ہلکا، پڑھنے میں آسان اور جدید ویب کوڈ کی فطری زبان، جہاں پروگرام اسے تقریباً بغیر تیاری کے استعمال کر سکتا ہے۔ جب فیڈ یا برآمد XML کے طور پر آئے اور جو چیز اسے استعمال کرے گی وہ JSON بولتی ہو تو تبدیلی کی ضرورت پڑتی ہے۔ اسی لیے لوگ XML کو JSON میں تبدیل کرتے ہیں: ان کے پاس ڈیٹا پرانی شکل میں ہے، اور نئے اوزار نئی شکل چاہتے ہیں۔
صورتیں عام ہیں۔ ڈویلپر جسے پرانی خدمت کا جواب جدید اسکرپٹ میں پڑھنا ہے۔ دکان کا مالک جس کے پاس XML میں مصنوعات کی فیڈ ہے اور ایسا پلیٹ فارم جو JSON درآمد کرتا ہے۔ ڈیٹا تجزیہ کار جو بڑی برآمد کو ایسے اوزار میں دیکھنا چاہتا ہے جو JSON سنبھالتا ہے۔ طالب علم جسے زاویہ دار قوسین سے بھری فائل کو سمجھنا ہے۔ ہر صورت میں معلومات موجود ہیں، اور جو کمی ہے وہ صرف زیادہ آسان شکل ہے۔
یہ صفحہ آپ کے براؤزر میں XML کو JSON میں تبدیل کرتا ہے۔ آپ کی فائل یہیں پڑھی اور لکھی جاتی ہے، اس لیے یہ آپ کے آلے سے کبھی باہر نہیں جاتی، جو انوائس، صارفین کے ڈیٹا اور کسی بھی دوسری نجی چیز کے لیے اہم ہے۔ اور صفحہ پہلے سے بتاتا ہے کہ گزر کیا رکھتا ہے اور کیا نہیں رکھ سکتا، بجائے اس کے کہ آپ کو خود دریافت کرنے کے لیے چھوڑ دے۔ XML ایک ایسا خیال رکھتا ہے جس کے لیے JSON کے پاس لفظ نہیں، اور اسے سمجھنا آپ کو حیرتوں سے بچائے گا۔ نیچے آپ کو ملے گا کہ تبدیلی کیسے کام کرتی ہے اور کیا توقع رکھنی ہے۔
تبدیلی کیسے کام کرتی ہے
عناصر کنجیاں بنتے ہیں، گھونسلہ گھونسلہ بنتا ہے
آپ کی XML آپ کے براؤزر کے اندر پڑھی جاتی ہے۔ عناصر کے نام کنجیاں بنتے ہیں، اور عناصر کے اندر عناصر آبجیکٹوں کے اندر آبجیکٹ بنتے ہیں، اس لیے XML کا گھونسلہ ہی JSON کا گھونسلہ ہے۔ ٹیگوں میں جو ساخت آپ دیکھتے ہیں وہی قوسین میں آپ کو ملتی ہے۔
خصوصیات اپنا نام @ کے ساتھ رکھتی ہیں
XML عناصر خصوصیات لے جا سکتے ہیں، ڈیٹا کے چھوٹے ٹکڑے جو کھلنے والے ٹیگ کے اندر لکھے جاتے ہیں۔ JSON میں خصوصیات نہیں، اس لیے ہر ایک اپنی الگ کنجی کے طور پر رکھی جاتی ہے، نام کے آگے @ کے ساتھ۔ id خصوصیت والے book جیسا عنصر اپنے بچوں کی کنجیوں کے ساتھ کنجی @id دے گا۔ @ واضح کرتا ہے کہ کون سی کنجیاں خصوصیات سے آئیں اور کون سی عناصر سے۔
بچے عناصر کے ساتھ متن
جو متن بچے عناصر کے ساتھ ایک عنصر میں شریک ہو وہ #text کے تحت رکھا جاتا ہے، کیونکہ اسے رکھنے کی کوئی اور جگہ نہیں۔ ڈیٹا فائلوں میں یہ نایاب ہے اور ان دستاویزات میں عام جو نثر کو مارک اپ سے ملاتی ہیں۔ کنجی #text متن رکھتی ہے، اور باقی کنجیاں بچے۔
کیا رکھا جاتا ہے
عناصر کے نام، گھونسلہ، خصوصیات اور متن
عناصر کے نام، ان کا گھونسلہ، ان کی خصوصیات اور ان کا متن سب رکھے جاتے ہیں۔ ڈیٹا کی معلومات JSON میں ہیں، ایسی شکل میں جس سے پروگرام گزر سکتے ہیں۔
جو ایک بار آئے اس کی ترتیب
جب عناصر مختلف ہوں تو وہ اس ترتیب کو رکھتے ہیں جس میں لکھے گئے تھے، اس لیے عنوان، مصنف اور تاریخ کی فہرست والا ریکارڈ انہیں اسی ترتیب میں دکھاتا ہے۔
متن بالکل جیسا ہے
ہر عنصر کا متن جیسا لکھا گیا ویسا رکھا جاتا ہے، اس کے اندر کی خالی جگہوں، اعراب والے حروف، علامتوں اور دوسرے حروفِ تہجی کے کرداروں سمیت۔
XML کو JSON میں تبدیل کرنے سے پہلے آپ کو کیا جاننا چاہیے
دہرائے گئے نام ایرے بنتے ہیں
XML ایک ایسا خیال رکھتا ہے جس کے لیے JSON کے پاس لفظ نہیں: عناصر ترتیب وار ہیں اور دہرا سکتے ہیں۔ جو نام ایک بار آئے وہ قدر بنتا ہے، اور جو دو بار آئے وہ ایرے بنتا ہے۔ اس لیے تین item عناصر والی فہرست تین کا ایرے بنتی ہے، لیکن ایک ہی item والی فہرست محض قدر بنتی ہے، ایک کا ایرے نہیں۔ اس کا مطلب ہے کہ نتیجہ واپس پڑھنے سے ہمیشہ وہی XML نہیں ملتا۔ جو پروگرام JSON پڑھے اسے وہاں دونوں شکلوں کے لیے تیار رہنا چاہیے جہاں فہرست مختصر ہو سکتی ہے۔
تبصرے، پروسیسنگ ہدایات اور اعلان گرا دیے جاتے ہیں
تبصرے، پروسیسنگ ہدایات اور XML اعلان ڈیٹا کا حصہ نہیں اور ساتھ نہیں آتے۔ وہ نوٹ جو ڈویلپر نے تبصرے میں چھوڑا، اوپر کی لائن جو ورژن اور انکوڈنگ بتاتی ہے، اور کسی خاص پروگرام کے لیے ہدایات غائب ہو جاتی ہیں۔ ڈیٹا خود باقی رہتا ہے۔
سب کچھ متن ہے
XML میں اقسام نہیں: ٹیگوں کی ہر قدر متن ہے۔ آپ کی XML کے اعداد، تاریخیں اور جھنڈے اسی متن کے طور پر آتے ہیں جو لکھا گیا۔ جو پروگرام JSON پڑھے اسے انہیں اپنی ضرورت کے مطابق سمجھنا چاہیے۔
یہاں XML کو JSON میں کیسے تبدیل کریں
اپنی فائل شامل کیجیے
XML فائل کو صفحے پر چھوڑیے یا اپنے آلے سے چنیے۔ یہ آپ کے براؤزر کے اندر پڑھی جاتی ہے اور اپ لوڈ نہیں ہوتی۔
تبدیل کیجیے
بٹن دبائیے۔ عام سائز کی فائل میں ایک لمحہ لگتا ہے۔ مکمل ہونے تک صفحہ کھلا رکھیے۔
ڈاؤن لوڈ کیجیے اور جانچیے
JSON ڈاؤن لوڈ کیجیے اور اسے ٹیکسٹ ایڈیٹر میں کھولیے۔ آغاز اور اختتام دیکھیے، اور جانچیے کہ کنجیاں وہی نام ہیں جن کی آپ کو توقع ہے اور خصوصیات اپنا @ رکھتی ہیں۔
XML اور JSON پر ایک قریبی نظر
درخت لکھنے کے دو طریقے
XML اور JSON دونوں قدروں کے درخت کو بیان کرتے ہیں۔ XML اسے ان ٹیگوں سے لکھتی ہے جو کھلتے اور بند ہوتے ہیں، اور خصوصیات اور ملے جلے مواد کی اجازت دیتی ہے۔ JSON اسے قوسین اور بریکٹوں سے لکھتی ہے، اور صرف آبجیکٹ، فہرستیں، سٹرنگ، اعداد، بولین اور null جانتی ہے۔ ڈیٹا کے لیے، جیسے ریکارڈ اور ترتیبات، وہ اچھی طرح ملتی ہیں، اور دستاویزات کے لیے، جیسے ویب صفحہ یا کتاب، جہاں متن اور مارک اپ باہم ملے ہوں، خراب طرح ملتی ہیں۔
گول سفر کی ضمانت کیوں نہیں
XML سے JSON جانے میں کچھ کھوتا ہے: دہرائے گئے ملے جلے عناصر کی ترتیب، تبصرے اور خصوصیت اور عنصر کا فرق، جو صرف @ کے ذریعے رکھا جاتا ہے۔ واپس جاتے ہوئے اس لیے آپ کو بالکل وہی XML نہیں مل سکتی۔ ڈیٹا کے تبادلے کے لیے یہ شاذ ہی اہم ہے۔ دستاویزات کے لیے ہے، اور XML کو ماسٹر رکھنا بہتر ہے۔
نیم اسپیس
XML کے نام ایسا سابقہ لے جا سکتے ہیں جو انہیں نیم اسپیس میں رکھتا ہے، جیسے کسی خاص معیار کی لغت۔ ایسے نام جیسے لکھے گئے ویسے رکھے جاتے ہیں، سابقے سمیت، اس لیے کنجی dc:title پڑھ سکتی ہے۔ وہ حل یا دوبارہ نہیں لکھے جاتے۔
عام صورتیں تفصیل میں
مصنوعات کی فیڈ اور کیٹلاگ
سپلائر اور مارکیٹ پلیس اکثر XML میں فیڈ پیش کرتے ہیں۔ انہیں جدید اسکرپٹ میں استعمال کرنے یا JSON لینے والے پلیٹ فارم میں درآمد کرنے کے لیے XML کو JSON میں تبدیل کیجیے اور نتیجہ پڑھیے۔
پرانی ویب خدمات
SOAP اور ابتدائی API کے دور میں بنی خدمات XML میں جواب دیتی ہیں۔ جو اسکرپٹ ان کا جواب استعمال کرنا چاہے وہ JSON کے ساتھ کام کر سکتا ہے، جسے سنبھالنا آسان ہے۔
ترتیب اور سیٹنگز کی فائلیں
بہت سے پروگرام سیٹنگز XML کے طور پر رکھتے ہیں۔ فائل کو JSON میں تبدیل کرنا آپ کو اسے JSON کے لیے بنے اوزار میں پڑھنے، دو ورژنوں کا موازنہ کرنے یا اسکرپٹ کو کھلانے دیتا ہے۔
فیڈ، سائٹ میپ اور برآمدات
خبروں کی فیڈ، سائٹ میپ اور اکاؤنٹنگ یا انوینٹری پروگراموں کی برآمدات XML ہیں۔ تبدیلی آپ کو ایسی شکل دیتی ہے جسے تلاش کرنا اور کوڈ میں لوڈ کرنا آسان ہے۔
XML کو JSON میں تبدیل کرنے سے پہلے عملی مشورہ
جانچیے کہ XML درست بنی ہوئی ہے
ہر ٹیگ بند ہونا چاہیے، اور فائل میں ایک ہی جڑ عنصر ہونا چاہیے۔ اگر صفحہ خرابی بتائے تو فائل کو ایسے ایڈیٹر میں کھولیے جو XML کے مسائل نمایاں کرتا ہو اور جس سطر کی طرف وہ اشارہ کرے اسے ٹھیک کیجیے۔
جانیے کہ فہرستیں کہاں مختصر ہو سکتی ہیں
اگر آپ کی XML میں فہرستیں ہیں تو یاد رکھیے کہ ایک اندراج والی فہرست قدر بنے گی، ایک کا ایرے نہیں۔ JSON پڑھنے والے کوڈ کی منصوبہ بندی دونوں صورتیں سنبھالنے کے لیے کیجیے۔
طے کیجیے کہ خصوصیات کے ساتھ کیا کرنا ہے
خصوصیات @ والی کنجیوں کے طور پر آتی ہیں۔ اگر آپ کا پروگرام انہیں دوسرے ناموں کے تحت توقع کرتا ہے تو تبدیلی کے بعد انہیں نیا نام دیجیے، یا پروگرام ایڈجسٹ کیجیے۔
بڑی فائلیں
سب کچھ آپ کے آلے پر چلتا ہے، اس لیے بہت بڑی فائل کو میموری چاہیے۔ کئی میگابائٹ کی فائلوں کے لیے کمپیوٹر استعمال کیجیے، اور اگر صفحہ مشکل میں ہو تو ڈیٹا تقسیم کیجیے۔
تبدیل کرنے سے پہلے لوگ جو پوچھتے ہیں
ایک فہرست ایرے اور دوسری اکیلی قدر کیوں ہے؟
کیونکہ جو نام ایک بار آئے وہ قدر بنتا ہے، اور جو دو بار آئے وہ ایرے بنتا ہے۔ ایک اندراج والی فہرست اکیلی قدر جیسی لگتی ہے۔
میری خصوصیات کہاں گئیں؟
وہ نام کے آگے @ والی کنجیاں ہیں، بچے عناصر کی کنجیوں کے ساتھ۔
وہ متن کہاں ہے جو دوسرے عناصر کے ساتھ بیٹھا ہے؟
کنجی #text کے تحت، کیونکہ اسے رکھنے کی کوئی اور جگہ نہیں۔
میرے تبصرے کیوں غائب ہیں؟
تبصرے، پروسیسنگ ہدایات اور XML اعلان ڈیٹا کا حصہ نہیں اور ساتھ نہیں آتے۔
کیا میری فائل اپ لوڈ ہوتی ہے؟
نہیں۔ تبدیلی آپ کے براؤزر میں چلتی ہے اور فائل آپ کے آلے سے کبھی باہر نہیں جاتی۔
کیا میں واپس XML کی طرف جا سکتا ہوں؟
جی ہاں۔ JSON سے XML درخت کو واپس XML کے طور پر لکھتا ہے، اگرچہ گول سفر کے بالکل ایک جیسا ہونے کی ضمانت نہیں۔
XML کو JSON میں تبدیل کرتے وقت سمجھداری سے چننا
JSON، YAML یا جدول؟
JSON پروگراموں کو راس آتا ہے۔ جس ترتیب کو لوگ ایڈٹ کرتے ہیں اس کے لیے تبدیلی کے بعد JSON سے YAML زیادہ آرام سے پڑھا جاتا ہے۔ اگر XML دراصل یکساں ریکارڈوں کا جدول ہے تو آپ JSON سے CSV یا JSON سے XLSX کے ساتھ آگے بڑھ سکتے ہیں۔
XML رکھیے
XML ماسٹر ہے۔ اس میں تبصرے، اعلان اور عین ترتیب ہے۔ اسے رکھیے، اور JSON کو آسان نقل سمجھیے۔
صارف کے بارے میں سوچیے
دیکھیے کہ JSON کون پڑھے گا، اور کام کو اس کے مطابق ڈھالیے۔ جو اسکرپٹ مقررہ ساخت کی توقع رکھتا ہے اسے لکھنا آسان ہے اگر XML باقاعدہ ہو۔
تبدیلی کے بعد اچھا نتیجہ پانا
JSON کو ویوئر میں جانچیے
نتیجہ ایسے ایڈیٹر میں کھولیے جو JSON سمجھتا ہو اور آبجیکٹ سمیٹ دیجیے۔ اگر ساخت ویسی لگے جیسی آپ کو توقع ہے تو وہ درست ہے۔
چند ریکارڈ ماخذ سے ملائیے
بیچ سے چند ریکارڈ لیجیے اور انہیں XML سے ملائیے۔ اس میں ایک منٹ لگتا ہے اور بتاتا ہے کہ تبدیلی وفادار ہے۔
اشاعت کے لیے چھوٹا کیجیے
اگر فائل ویب صفحے سے لوڈ ہوگی اور بڑی ہے تو ایسے اوزار موجود ہیں جو خالی جگہ ہٹا کر اسے ہلکا کرتے ہیں۔ ڈیٹا وہی رہتا ہے۔
اپنی XML اس طرح تیار کرنا کہ وہ اچھی تبدیل ہو
ساخت کو باقاعدہ رکھیے
جب آپ XML کو JSON میں تبدیل کریں تو باقاعدہ ڈیٹا بہترین تبدیل ہوتا ہے: وہی عناصر انہی جگہوں پر، فہرستیں ہمیشہ دہرائے گئے عناصر کے طور پر لکھی ہوئی۔ بے قاعدہ فائلیں بے قاعدہ JSON پیدا کرتی ہیں، اور اسے پڑھنے والے پروگرام کو نمٹنا پڑتا ہے۔
جہاں ہو سکے متن اور عناصر کو ملانے سے بچیے
بچے عناصر کے ساتھ متن #text کے تحت جاتا ہے۔ یہ درست ہے، لیکن نتیجے کو استعمال کرنا مشکل بناتا ہے۔ ڈیٹا کے لیے متن کو پتوں میں رکھیے، شاخوں کے بیچ نہیں۔
پہلے چھوٹے ٹکڑے سے آزمائیے
اگر آپ کی فائل بڑی ہے تو پہلے ریکارڈ ٹیسٹ فائل میں لے لیجیے اور اسے تبدیل کیجیے۔ نتیجے پر ایک فوری نظر دکھاتی ہے کہ شکل وہی ہے جس کی آپ کو توقع ہے یا نہیں۔
XML کو JSON میں تبدیل کرنے کے بعد JSON پڑھنا
ساخت پر چلیے، اس کا اندازہ نہ لگائیے
نتیجے کی شکل XML کی شکل کا عکس ہے، اس لیے اسے سمجھنے کا بہترین طریقہ دونوں کو ساتھ ساتھ کھولنا ہے۔ جڑ عنصر تلاش کیجیے، جو بالائی سطح کی کنجی بنتا ہے، اور ایک ریکارڈ کے پیچھے اس کے پتوں تک چلیے۔ XML کو JSON میں تبدیل کرنے کے بعد دس منٹ کی یہ چہل قدمی کوڈ میں گھنٹوں کی آزمائش اور غلطی بچاتی ہے۔
فہرستوں کے لیے دفاعی کوڈ لکھیے
چونکہ اکیلا اندراج قدر ہے اور کئی اندراج ایرے، سب سے محفوظ عادت یہ ہے کہ جو آپ پڑھیں اسے لپیٹ دیں: اگر وہ ایرے نہیں تو اسے ایک میں ڈال دیں۔ قاری کے آغاز پر کوڈ کی ایک سطر باقی سب آسان بنا دیتی ہے، اور آپ کا پروگرام اس دن نہیں ٹوٹتا جب فیڈ میں صرف ایک مصنوعہ ہو۔
خصوصیات کو احتیاط سے سنبھالیے
جو کنجیاں @ سے شروع ہوں وہ خصوصیات ہیں۔ کچھ اوزار ایسے ناموں کو پراپرٹی کے ناموں کے طور پر پسند نہیں کرتے، اس لیے آپ لوڈ کرتے وقت انہیں نیا نام دینا پسند کر سکتے ہیں۔ معنی وہی رہتا ہے؛ صرف لیبل بدلتا ہے۔
JSON کو ماخذ کے متبادل کے طور پر ایڈٹ نہ کیجیے
جب ڈیٹا بدلے تو XML اس کے ماخذ پر بدلیے، یا نظام سے نئی برآمد بنوائیے، اور XML کو دوبارہ JSON میں تبدیل کیجیے۔ نقل کو ایڈٹ کرنا دونوں کو بے ربط چھوڑ دیتا ہے۔
رازداری اور ہینڈلنگ
ڈیٹا کے لیے مقامی تبدیلی کیوں اہم ہے
XML فائلیں اکثر وہ رکھتی ہیں جو نجی ہے: انوائس، صارفین، آرڈر، سیٹنگز۔ بہت سے آن لائن کنورٹر آپ کی فائل سرور پر اپ لوڈ کرتے ہیں، اسے پروسیس کرتے ہیں اور نتیجہ واپس بھیجتے ہیں، اور کچھ دیر کے لیے ایک نقل ایسی مشین پر رہتی ہے جسے آپ قابو نہیں کرتے۔ یہاں آپ کا اپنا براؤزر کام کرتا ہے، اس لیے ڈیٹا آپ کے آلے پر رہتا ہے۔
جب آپ چھوڑ دیں تو کیا ہوتا ہے
جب آپ صفحہ بند کرتے ہیں تو تبدیل شدہ فائل براؤزر سے غائب ہو جاتی ہے، اس لیے پہلے اسے ڈاؤن لوڈ کیجیے۔ آپ کے ڈیٹا کے بارے میں کچھ نہیں رکھا جاتا۔
اگر کچھ غلط ہو جائے
صفحہ کہتا ہے کہ XML درست نہیں
کوئی ٹیگ بند نہ ہوا ہو، یا دو جڑ عناصر ہوں، یا ایسا کردار ہو جس کی XML اجازت نہیں دیتی۔ فائل کو ایسے ایڈیٹر میں کھولیے جو XML کی غلطیاں نمایاں کرتا ہو اور جس سطر کی طرف وہ اشارہ کرے اسے ٹھیک کیجیے۔
ساخت وہ نہیں جس کی مجھے توقع تھی
ایک اندراج والی فہرستیں، خصوصیات اور ملا ہوا متن جانچیے۔ وہ زیادہ تر حیرتوں کی وضاحت کرتے ہیں۔
بڑی فائل کے ساتھ صفحہ جم جاتا ہے
سب کچھ آپ کے آلے پر چلتا ہے، اور بڑی فائل کو میموری چاہیے۔ کمپیوٹر پر دوبارہ کوشش کیجیے، یا ڈیٹا تقسیم کیجیے۔
متعلقہ اوزار
اوزاروں کا یہی خاندان پڑوسی کاموں کا احاطہ کرتا ہے۔ واپس جانے کے لیے JSON سے XML استعمال کیجیے۔ ترتیب کی فائلوں کے لیے JSON سے YAML اور YAML سے JSON ان دونوں کے درمیان بدلتے ہیں۔ جدولوں کے لیے JSON سے CSV، CSV سے JSON، JSON سے XLSX اور XLSX سے JSON ہیں۔
ایک حل شدہ مثال
فرض کیجیے کوئی سپلائر آپ کو 800 مصنوعات کی XML فائل کے طور پر مصنوعات کی فیڈ بھیجتا ہے، ہر ایک میں id خصوصیت، نام، قیمت اور زمروں کی فہرست ہے۔ آپ فائل یہاں چھوڑتے ہیں اور بٹن دباتے ہیں۔ ایک لمحے بعد آپ 800 مصنوعات کے ایرے والی JSON ڈاؤن لوڈ کرتے ہیں۔ ہر ایک کی id کنجی @id ہے، نام اور قیمت اپنی کنجیاں ہیں، اور زمرے ایرے بناتے ہیں۔ چند مصنوعات کے لیے جن کا ایک ہی زمرہ ہے، قدر سادہ سٹرنگ ہے، اور آپ کا درآمدی اسکرپٹ دونوں صورتیں سنبھالتا ہے۔ XML آپ کے فولڈر میں سپلائر کے اصل کے طور پر رہتی ہے۔
ایک مختصر چیک لسٹ
تبدیل کرنے سے پہلے
جانچیے کہ XML درست بنی ہوئی ہے۔ نوٹ کیجیے کہ فہرستیں کہاں مختصر ہو سکتی ہیں۔ XML رکھیے۔
تبدیل کرتے وقت
فائل تیار ہونے تک صفحے پر رہیے۔
تبدیل کرنے کے بعد
JSON کھولیے، کنجیاں، خصوصیات اور فہرستیں جانچیے، اور اسے اس پروگرام سے آزمائیے جو اسے پڑھے گا۔
عام غلطیاں
یہ فرض کرنا کہ ہر فہرست ایرے ہے
ایک اندراج والی فہرست قدر بنتی ہے۔ پڑھنے کا کوڈ دونوں قبول کرنے کے لیے لکھیے۔
بالکل گول سفر کی توقع
XML سے JSON اور واپس اسی XML کے ملنے پر بھروسا نہ کیجیے۔ اصل رکھیے۔
یہ بھول جانا کہ سب قدریں متن ہیں
XML میں اقسام نہیں۔ اعداد اور تاریخیں اس پروگرام میں تبدیل کیجیے جو انہیں استعمال کرتا ہے۔
آپ کا ڈیٹا آپ کے آلے پر رہتا ہے
تبدیلی مقامی طور پر ہوتی ہے۔ آپ کی فائل آپ کا اپنا براؤزر پڑھتا ہے، وہیں دوبارہ لکھتا ہے اور JSON کے طور پر واپس دے دیتا ہے۔ کچھ اپ لوڈ نہیں ہوتا، اس لیے سرور پر کوئی نقل نہیں رہتی اور کوئی اور اسے نہیں پڑھ سکتا۔ نجی مواد والے ڈیٹا کے لیے XML کو JSON میں تبدیل کرنے کا یہی محفوظ طریقہ ہے۔
خلاصہ
یہاں XML کو JSON میں تبدیل کرنے کے لیے فائل چھوڑیے اور بٹن دبائیے۔ یہ آپ کے براؤزر میں پڑھی اور لکھی جاتی ہے، اس لیے فائل آپ کے آلے سے کبھی باہر نہیں جاتی۔ عناصر کے نام، ان کا گھونسلہ، ان کی خصوصیات اور ان کا متن رکھے جاتے ہیں۔ خصوصیت اپنا نام آگے @ کے ساتھ رکھتی ہے، اور جو متن بچے عناصر کے ساتھ ایک عنصر میں شریک ہو وہ #text کے تحت رکھا جاتا ہے، کیونکہ اسے رکھنے کی کوئی اور جگہ نہیں۔ XML ایک ایسا خیال رکھتا ہے جس کے لیے JSON کے پاس لفظ نہیں: عناصر ترتیب وار ہیں اور دہرا سکتے ہیں۔ جو نام ایک بار آئے وہ قدر بنتا ہے اور جو دو بار آئے وہ ایرے بنتا ہے، اس لیے نتیجہ واپس پڑھنے سے ہمیشہ وہی XML نہیں ملتا۔ تبصرے، پروسیسنگ ہدایات اور XML اعلان ڈیٹا کا حصہ نہیں اور ساتھ نہیں آتے۔