24 converter اکائیاں · کرنسیاں · فائلیں

JSON کو XML میں تبدیل کرنا JavaScript Object Notation ↔ Extensible Markup Language مفت آن لائن محفوظ

ایک JSON فائل چھوڑیں اور XML لے جائیں۔ پڑھنا اور لکھنا یہیں، آپ کے براؤزر میں ہوتا ہے، سو فائل آپ کے آلے سے باہر نہیں جاتی — اور یہ سفر کیا بچاتا ہے اور کیا نہیں، وہ نیچے لکھا ہے، آپ کے دریافت کرنے پر نہیں چھوڑا گیا۔

اپنی فائل بدلیے

یہاں ایک JSON فائل چھوڑیں، یا کوئی چنیں۔

آپ کی فائل اس آلے سے باہر نہیں جاتی۔ سب کچھ آپ کے براؤزر میں چلتا ہے۔

اس بدلنے والے اوزار کے بارے میں
کیا برقرار رہتا ہے پورا درخت۔ ایک ہی کلید والی شے دستاویز کو اُسی کلید کا نام دیتی ہے، سو JSON تک جا کر واپس آنے والی XML اپنے آپ جیسی لگتی ہے؛ فہرست اپنا عنصر دہراتی ہے؛ @ سے شروع ہونے والی کلید صفت بن جاتی ہے۔
کیا نہیں کر سکتا JSON کی کوئی بھی کلید ایک لفظ ہو سکتی ہے؛ XML کے عنصر کا نام نہیں۔ جو کلید جائز نام نہ ہو اُسے مروڑ کر نام نہیں بنایا جاتا — وہ ‎<item name="…">‎ بن جاتی ہے، سو اصل اب بھی فائل میں ہے اور اب بھی مل جاتا ہے۔ نہ کوئی نام کی جگہ لگائی جاتی ہے نہ کوئی خاکہ: نتیجہ ساخت کے لحاظ سے درست ہے، جانچا ہوا نہیں۔
کہاں چلتا ہے آپ کے براؤزر میں۔ کچھ بھی اپ لوڈ نہیں ہوتا، اس لیے بعد میں مٹانے کو بھی کچھ نہیں بچتا۔

کچھ بھی اپ لوڈ نہیں

یہ صورتیں کہاں سے آئیں

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، ہر بار تھوڑا کھوتا ہے، اور واپس بدلنے سے وہ لوٹتا نہیں۔ جہاں چناؤ ممکن ہو، یہ صفحہ سب سے چھوٹی فائل بنانے کے بجائے اصل معیار برقرار رکھنے کی طرف جھکتا ہے۔

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

نہیں۔ تبدیلی آپ ہی کی مشین پر، آپ کے براؤزر کے اندر ہوتی ہے؛ فائل وہاں سے کبھی باہر نہیں جاتی، اور یہاں کوئی سرور ہے ہی نہیں جو اسے لے سکے۔ اسی لیے بڑی فائل کو اپ لوڈ نہیں بلکہ آپ کی اپنی یادداشت محدود کرتی ہے، اور اسی لیے جو کچھ آپ بدلتے ہیں وہ کسی کے ریکارڈ میں نہیں آ سکتا — ہمارے ریکارڈ میں بھی نہیں۔ البتہ آواز اور فلم کے اوزار پہلی بار استعمال پر اپنا تبدیلی کا انجن اِسی سائٹ سے لاتے ہیں — تقریباً تیس میگابائٹ، صرف ایک بار؛ اس کے بعد بھی کام سارا آپ ہی کی مشین پر ہوتا ہے۔

لوگ JSON کو XML میں کیوں تبدیل کرتے ہیں

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

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

یہ صفحہ JSON کو XML میں آپ کے براؤزر میں تبدیل کرتا ہے۔ آپ کی فائل یہیں پڑھی اور لکھی جاتی ہے، اس لیے وہ آپ کے آلے سے باہر نہیں جاتی، جو آرڈروں، انوائسوں اور ہر نجی چیز کے لیے اہم ہے۔ اور صفحہ پہلے سے بتاتا ہے کہ پار جانے میں کیا برقرار رہتا ہے اور کیا نہیں رہ سکتا، بجائے اس کے کہ آپ کو خود دریافت کرنا پڑے۔ نیچے آپ کو ملے گا کہ تبدیلی کیسے کام کرتی ہے، نام، فہرستیں اور اوصاف کیسے سنبھالے جاتے ہیں اور ان کلیدوں کا کیا کرنا ہے جنہیں XML قبول نہیں کر سکتا۔

تبدیلی کیسے کام کرتی ہے

پورا درخت منتقل ہوتا ہے

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

دستاویز کا نام اکیلی کلید سے رکھا جاتا ہے

XML دستاویز کو بالکل ایک جڑ کا عنصر چاہیے۔ اگر آپ کی JSON شے میں ایک ہی کلید ہو تو وہ کلید دستاویز کا نام رکھتی ہے۔ یہ سہولت والی صورت ہے: XML فائل کو JSON میں لے جا کر واپس لایا جائے تو وہ اپنے جیسی ہی لگتی ہے، کیونکہ جڑ کا عنصر اکیلی کلید بنتا ہے اور جڑ کے عنصر کے طور پر لوٹتا ہے۔ اگر اوپر JSON میں کئی کلیدیں ہوں تو کنورٹر انہیں جڑ کے عنصر میں لپیٹ دیتا ہے تاکہ نتیجہ درست ساخت کا ہو۔

فہرستیں عنصر کو دہراتی ہیں

صف اپنا عنصر دہراتی ہے۔ کلید products جس میں تین ریکارڈوں کی فہرست ہو، ایک کے بعد ایک تین product عناصر دیتی ہے، جو XML میں فہرست ظاہر کرنے کا طریقہ ہے۔ ترتیب برقرار رہتی ہے۔

کیا برقرار رہتا ہے

پورا درخت

ہر شے، ہر فہرست اور ہر قدر منتقل ہوتی ہے۔ کچھ نہیں چھوڑا جاتا، اور تہہ داری وہی رہتی ہے جو اصل میں تھی۔

اوصاف، @ کے ذریعے

@ سے شروع ہونے والی کلید وصف بنتی ہے۔ جس ریکارڈ میں کلید @id اور کلید name ہو وہ ایسا عنصر دیتا ہے جس کا وصف id اور ذیلی عنصر name ہو۔ یہ وہی روایت ہے جو الٹی تبدیلی استعمال کرتی ہے، اس لیے XML کو JSON میں لے جا کر واپس لایا جائے تو اس کے اوصاف برقرار رہتے ہیں۔

ترتیب

کلیدیں اسی ترتیب میں رہتی ہیں جس میں وہ JSON میں ظاہر ہوئیں، اس لیے XML کے عناصر ماخذ کی ترتیب کی پیروی کرتے ہیں۔

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

JSON کی کوئی بھی کلید لفظ ہو سکتی ہے؛ XML کا نام نہیں ہو سکتا

JSON کی کوئی بھی کلید لفظ، عدد یا خالی جگہوں والا جملہ ہو سکتی ہے۔ XML کے عنصر کا نام نہیں ہو سکتا: اسے حرف یا انڈرسکور سے شروع ہونا چاہیے اور اس میں حروف، ہندسے، ہائفن، انڈرسکور اور نقطے ہو سکتے ہیں، مگر خالی جگہیں نہیں۔ جو کلید جائز نام نہ ہو اسے توڑ مروڑ کر جائز نام نہیں بنایا جاتا۔ وہ item عنصر بنتی ہے جس کا وصف name ہوتا ہے، جو item name="the original key" کی شکل میں لکھا جاتا ہے، اس لیے اصل فائل میں موجود رہتی ہے اور ڈھونڈی جا سکتی ہے۔ کسی چیز کا نام خاموشی سے نہیں بدلا جاتا۔

کوئی نیم اسپیس نہیں، کوئی اسکیما نہیں

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

قدریں متن ہیں

XML میں اقسام نہیں ہوتیں: ٹیگز کے اندر ہر قدر متن ہے۔ اعداد، true، false اور null اپنے متن کی شکل میں لکھے جاتے ہیں۔ XML پڑھنے والے پروگرام کو انہیں اپنی مرضی سے سمجھنا پڑتا ہے۔

یہاں JSON کو XML میں کیسے تبدیل کریں

اپنی فائل شامل کیجیے

JSON فائل کو صفحے پر چھوڑیے یا اپنے آلے سے چنیے۔ وہ آپ کے براؤزر کے اندر پڑھی جاتی ہے اور اپ لوڈ نہیں ہوتی۔

تبدیل کیجیے

بٹن دبائیے۔ عام سائز کی فائل ایک لمحہ لیتی ہے۔ مکمل ہونے تک صفحہ کھلا رکھیے۔

ڈاؤن لوڈ کیجیے اور جانچیے

XML ڈاؤن لوڈ کیجیے اور متن کے ایڈیٹر یا براؤزر میں کھولیے۔ شروع اور آخر دیکھیے، اور جانچیے کہ عناصر کے نام وہی ہیں جن کی آپ کو توقع تھی اور اوصاف وہیں ہیں جہاں آپ نے چاہا تھا۔

JSON اور XML پر قریب سے نظر

درخت لکھنے کے دو طریقے

JSON اور XML دونوں قدروں کے درخت بیان کرتے ہیں۔ JSON اسے گھنگریالے اور مربع قوسین سے لکھتا ہے، اور صرف اشیا، فہرستیں، تاریں، اعداد، بولین اور null جانتا ہے۔ XML اسے کھلنے اور بند ہونے والے ٹیگز سے لکھتا ہے، اور اوصاف، نیم اسپیس اور ملا جلا مواد کا اضافہ کرتا ہے۔ ڈیٹا کے لیے، جیسے ریکارڈ اور ترتیبات، وہ اچھی طرح ملتے ہیں، اور دستاویزات کے لیے، جہاں متن اور مارک اپ گتھے ہوتے ہیں، کم ملتے ہیں۔

روایات کیوں اہم ہیں

JSON میں اوصاف نہیں، جڑ کا عنصر نہیں اور عنصر دہرانے کا تصور نہیں۔ اس لیے ہر تبدیلی کو روایات چاہئیں: اوصاف کے لیے @، جڑ کے لیے اکیلی کلید، فہرستوں کے لیے عناصر کی تکرار۔ یہاں استعمال ہونے والی روایات سادہ اور یکساں ہیں، اور وہ ان سے ملتی ہیں جو XML سے JSON کی طرف جاتے وقت استعمال ہوتی ہیں، جس کی وجہ سے عام صورتوں میں آمد و رفت کام کرتی ہے۔

خالی قدریں

خالی تار اور null دونوں خالی عنصر بن جاتے ہیں۔ اگر وصول کنندہ نظام کے لیے فرق اہم ہو تو JSON کو XML میں تبدیل کرنے سے پہلے اسے ڈیٹا میں نشان زد کیجیے، مثلاً الگ جھنڈے کے ساتھ۔

عام صورتیں تفصیل سے

مارکیٹ پلیس اور موازنہ سائٹوں کے فیڈ

بہت سے پلیٹ فارم مصنوعات کے فیڈ XML میں مانگتے ہیں۔ اگر آپ کا دکان کا سافٹ ویئر JSON برآمد کرتا ہے تو JSON کو XML میں تبدیل کیجیے، عناصر کے ناموں کو پلیٹ فارم کی تفصیل سے ملا کر جانچیے اور اپ لوڈ کیجیے۔

پرانی سروسز اور انٹرپرائز نظام

SOAP اور ابتدائی APIs کے دور میں بنے نظام XML کی توقع رکھتے ہیں۔ جدید ایپلیکیشن JSON بنا سکتی ہے اور اسے ان کے لیے تبدیل کروایا جا سکتا ہے۔

ان اوزاروں کے لیے ترتیب جو XML پسند کرتے ہیں

کچھ بلڈ اوزار، مواد کے نظام اور ڈیسک ٹاپ پروگرام اپنی ترتیبات XML سے پڑھتے ہیں۔ JSON کے طور پر لکھی ترتیب کو ان کی مطلوبہ شکل میں بدلا جا سکتا ہے۔

سیکھنا اور موازنہ کرنا

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

JSON کو XML میں تبدیل کرنے سے پہلے عملی مشورے

جانچیے کہ JSON درست ہے

بھٹکا ہوا کاما یا غائب اقتباسی نشان تبدیلی کو روک دے گا۔ اگر صفحہ غلطی بتائے تو فائل کو ایسے ایڈیٹر میں کھولیے جو JSON کے مسائل نمایاں کرتا ہو اور اس سطر کو ٹھیک کیجیے جس کی طرف وہ اشارہ کرتا ہے۔

کلیدوں کو جائز عنصری نام بنائیے

اگر آپ جانتے ہیں کہ XML کو اسکیما کے مقابل جانچا جائے گا تو ایسی کلیدیں استعمال کیجیے جو جائز نام ہوں اور اسکیما سے ملتی ہوں۔ ورنہ کنورٹر انہیں item عناصر کے طور پر محفوظ رکھے گا، جو درست ہے مگر ہو سکتا ہے وصول کنندہ کی توقع کے مطابق نہ ہو۔

اوپر کی سطح کی اکیلی کلید چنیے

اگر آپ چاہتے ہیں کہ آپ کے XML کے جڑ کے عنصر کا کوئی خاص نام ہو تو JSON کو XML میں تبدیل کرنے سے پہلے اپنے ڈیٹا کو اسی ایک کلید والی شے میں لپیٹ دیجیے۔

بڑی فائلیں

سب کچھ آپ کے آلے پر چلتا ہے، اس لیے بہت بڑی فائل کو میموری چاہیے۔ کئی میگا بائٹ کی فائلوں کے لیے کمپیوٹر استعمال کیجیے، اور اگر صفحہ مشکل میں پڑے تو ڈیٹا تقسیم کیجیے۔

تبدیلی سے پہلے لوگ جو سوال پوچھتے ہیں

جڑ کے عنصر کا نام کون رکھتا ہے؟

ایک ہی کلید والی شے دستاویز کا نام اسی کلید پر رکھتی ہے۔

وصف کیسے ملے؟

کلید کو @ سے شروع کیجیے۔ وہ عنصر کا وصف بن جاتی ہے۔

جس کلید میں خالی جگہ ہو اس کا کیا ہوتا ہے؟

وہ جائز عنصری نام نہیں، اس لیے وہ item عنصر بنتی ہے جس کے وصف name میں اصل کلید ہوتی ہے۔ کچھ ضائع نہیں ہوتا۔

کیا XML اسکیما کی جانچ پاس کرے گا؟

نتیجہ درست ساخت کا ہے، توثیق شدہ نہیں۔ وہ کسی مخصوص اسکیما پر پورا اترتا ہے یا نہیں، یہ آپ کے عناصر کے ناموں اور ساخت پر منحصر ہے۔

کیا میری فائل اپ لوڈ ہوتی ہے؟

نہیں۔ تبدیلی آپ کے براؤزر میں چلتی ہے اور فائل آپ کے آلے سے باہر نہیں جاتی۔

کیا میں واپس JSON میں جا سکتا ہوں؟

جی ہاں۔ XML سے JSON اوصاف کی انہی روایات کے ساتھ XML کے درخت کو واپس پڑھتا ہے۔

JSON کو XML میں تبدیل کرتے وقت سمجھداری سے انتخاب

کیا واقعی XML کی ضرورت ہے؟

اگر وصول کنندہ نظام JSON قبول کرتا ہے تو JSON استعمال کیجیے۔ تبدیلی صرف تب کیجیے جب XML لازمی ہو۔

دوسری منزلیں

ایسی ترتیب کے لیے جسے لوگ خود ایڈٹ کرتے ہیں JSON سے YAML پڑھنے میں زیادہ آرام دہ ہے۔ جدولوں کے لیے JSON سے CSV اور JSON سے XLSX اسپریڈ شیٹوں کے کام آتے ہیں۔

JSON کو سنبھال کر رکھیے

JSON اصل ہے۔ یہ اقسام رکھتی ہے۔ اسے رکھیے، اور XML کو ایک خاص وصول کنندہ کے لیے بنائی گئی نقل سمجھیے۔

تبدیلی کے بعد اچھا نتیجہ حاصل کرنا

اسے براؤزر میں کھولیے

براؤزر XML کو تہہ ہونے والے درخت کے طور پر دکھاتا ہے۔ فائل کھولیے اور عناصر کو پھیلائیے۔ اگر ساخت ویسی ہو جیسی آپ کو توقع تھی تو وہ درست ہے۔

چند ریکارڈوں کا ماخذ سے موازنہ کیجیے

بیچ کے چند ریکارڈ لیجیے اور انہیں JSON سے ملا کر دیکھیے۔ اس میں ایک منٹ لگتا ہے اور بتاتا ہے کہ تبدیلی وفادار ہے۔

وہ شامل کیجیے جو وصول کنندہ مانگتا ہے

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

اپنی JSON تیار کرنا تاکہ وہ اچھی طرح تبدیل ہو

باقاعدہ ساختیں استعمال کیجیے

جب آپ JSON کو XML میں تبدیل کرتے ہیں تو باقاعدہ ڈیٹا بہترین تبدیل ہوتا ہے: ریکارڈوں کی فہرستیں جن کی کلیدیں ایک جیسی ہوں، ہر کلید جائز نام۔ بے قاعدہ ڈیٹا درست مگر بے ترتیب نتیجہ دیتا ہے۔

طے کیجیے کہ وصف کیا ہوگا

شناختی نمبر، کوڈ اور جھنڈے اکثر XML میں اوصاف ہوتے ہیں۔ انہیں JSON میں @ سے نشان زد کیجیے، اور نتیجہ ویسا لگے گا جیسا XML کوئی انسان لکھتا۔

پہلے چھوٹے ٹکڑے سے آزمائیے

اگر آپ کی فائل بڑی ہے تو پہلے چند ریکارڈ آزمائشی فائل میں لے لیجیے اور اسے تبدیل کیجیے۔ نتیجے پر ایک سرسری نظر دکھاتی ہے کہ شکل وہی ہے جس کی آپ کو توقع تھی یا نہیں۔

XML کو اس کے وصول کنندہ کے مطابق بنانا

پہلے تفصیل دیکھیے

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

ترتیب اہم ہو سکتی ہے

کچھ XML اسکیما عناصر کو مقررہ ترتیب میں مانگتے ہیں۔ کنورٹر آپ کی کلیدوں کی ترتیب برقرار رکھتا ہے، اس لیے اگر وصول کنندہ کسی ترتیب پر اصرار کرے تو JSON کی کلیدیں اسی ترتیب میں لکھیے۔ نتیجہ بالکل وہی ہوتا ہے جو آپ نے لکھا۔

اگر لازمی ہو تو اعلان شامل کیجیے

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

خاص حروف کا خیال رکھیے

قدروں کے اندر ایمپرسینڈ، زاویائی قوسین اور اقتباسی نشان ان کی بچائی ہوئی شکلوں میں لکھے جاتے ہیں، اس لیے متن میں کچھ بھی ہو XML درست رہتا ہے۔ آپ کو انہیں JSON میں تیار کرنے کی ضرورت نہیں۔

قبول شدہ نمونہ رکھیے

جب وصول کنندہ کوئی فائل قبول کر لے تو اس عین فائل کی اور اسے بنانے والی JSON کی نقل رکھیے۔ جب بعد کا کوئی اپ لوڈ ناکام ہو تو اس کا اس سے موازنہ جو کام کر گئی تھی فرق فوراً ڈھونڈ لیتا ہے۔

ہاتھ سے ایڈٹ کرنے کے بجائے تبدیلی دہرائیے

جب ڈیٹا بدلے تو JSON بدلیے اور JSON کو XML میں دوبارہ تبدیل کیجیے۔ XML کو ہاتھ سے ایڈٹ کرنے سے دو نسخے رہ جاتے ہیں جو ایک دوسرے سے دور ہوتے جاتے ہیں۔

رازداری اور ہینڈلنگ

ڈیٹا کے لیے مقامی تبدیلی کیوں اہم ہے

ڈیٹا فائلیں اکثر وہ رکھتی ہیں جو نجی ہو: گاہک، آرڈر، انوائسیں، ترتیبات۔ بہت سے آن لائن کنورٹر آپ کی فائل سرور پر اپ لوڈ کرتے ہیں، اسے پروسیس کرتے ہیں اور نتیجہ واپس بھیجتے ہیں، اور کچھ دیر کے لیے ایک نقل ایسی مشین پر رہتی ہے جس پر آپ کا قابو نہیں۔ یہاں آپ کا اپنا براؤزر کام کرتا ہے، اس لیے ڈیٹا آپ کے آلے پر رہتا ہے۔

صفحہ چھوڑنے پر کیا ہوتا ہے

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

اگر کچھ غلط ہو جائے

صفحہ کہتا ہے کہ فائل درست JSON نہیں

کوئی بھٹکا ہوا کاما، غائب اقتباسی نشان یا قوسین ہو سکتا ہے جو بند نہیں ہوتا۔ فائل کو ایسے ایڈیٹر میں کھولیے جو JSON کی غلطیاں نمایاں کرتا ہو اور اس سطر کو ٹھیک کیجیے جس کی طرف وہ اشارہ کرتا ہے۔

وصول کنندہ XML کو رد کر دیتا ہے

نتیجہ درست ساخت کا ہے مگر توثیق شدہ نہیں۔ اسے وصول کنندہ کی تفصیل سے ملائیے اور JSON کی کلیدوں کے ناموں اور ساخت کو ایڈجسٹ کیجیے۔

بڑی فائل کے ساتھ صفحہ جم جاتا ہے

سب کچھ آپ کے آلے پر چلتا ہے، اور بڑی فائل کو میموری چاہیے۔ کمپیوٹر پر دوبارہ کوشش کیجیے، یا ڈیٹا تقسیم کیجیے۔

متعلقہ اوزار

اوزاروں کا یہی خاندان پڑوسی کاموں کو بھی سنبھالتا ہے۔ واپس جانے کے لیے XML سے JSON استعمال کیجیے۔ ترتیب کی فائلوں کے لیے JSON سے YAML اور YAML سے JSON ان دونوں کے درمیان تبدیلی کرتے ہیں۔ جدولوں کے لیے JSON سے CSV، CSV سے JSON، JSON سے XLSX اور XLSX سے JSON ہیں۔

ایک عملی مثال

فرض کیجیے آپ کا دکان کا سافٹ ویئر 300 مصنوعات JSON کے طور پر برآمد کرتا ہے، اور ایک مارکیٹ پلیس ایسا XML فیڈ مانگتا ہے جس کا جڑ کا عنصر catalogue ہو۔ آپ اپنی فہرست کو ایک کلید catalogue والی شے میں لپیٹتے ہیں، فائل یہاں چھوڑتے ہیں اور بٹن دباتے ہیں۔ ایک لمحے بعد آپ ایسی XML ڈاؤن لوڈ کرتے ہیں جس کی جڑ catalogue ہے اور جس میں 300 product عناصر ہیں، ہر ایک کا id وصف کی شکل میں، کیونکہ آپ نے کلید @id لکھی تھی۔ آپ فیڈ اپ لوڈ کرتے ہیں، اور مارکیٹ پلیس اسے قبول کر لیتا ہے۔ JSON آپ کے فولڈر میں ماخذ کے طور پر رہتی ہے۔

ایک مختصر چیک لسٹ

تبدیلی سے پہلے

جانچیے کہ JSON درست ہے۔ جڑ کا نام چنیے۔ اوصاف کو @ سے نشان زد کیجیے۔ JSON کو سنبھال کر رکھیے۔

تبدیلی کے دوران

فائل تیار ہونے تک صفحے پر رہیے۔

تبدیلی کے بعد

XML کھولیے، عناصر کے نام، اوصاف اور فہرستیں جانچیے، اور وصول کنندہ کے ساتھ آزمائیے۔

عام غلطیاں

یہ فرض کرنا کہ نتیجہ توثیق شدہ ہے

XML درست ساخت کا ہے، کسی اسکیما کے مقابل جانچا ہوا نہیں۔ اسے وصول کنندہ کے قواعد کے مطابق توثیق کیجیے۔

خالی جگہوں یا علامتوں والی کلیدیں استعمال کرنا

وہ item عناصر بنتی ہیں جن کا وصف name ہوتا ہے۔ اگر وصول کنندہ جائز نام کی توقع رکھتا ہو تو جائز نام استعمال کیجیے۔

JSON مٹا دینا

اسے رکھیے۔ یہ وہ اقسام رکھتی ہے جو XML نہیں رکھ سکتا۔

آپ کا ڈیٹا آپ کے آلے پر رہتا ہے

تبدیلی مقامی طور پر ہوتی ہے۔ آپ کی فائل آپ کا اپنا براؤزر پڑھتا ہے، وہیں دوبارہ لکھتا ہے اور XML کے طور پر واپس دیتا ہے۔ کچھ اپ لوڈ نہیں ہوتا، اس لیے کوئی نقل سرور پر نہیں رہتی اور کوئی اور اسے نہیں پڑھ سکتا۔ نجی مواد والے ڈیٹا کے لیے JSON کو XML میں تبدیل کرنے کا یہی محفوظ طریقہ ہے۔

خلاصہ

یہاں JSON کو XML میں تبدیل کرنے کے لیے فائل چھوڑیے اور بٹن دبائیے۔ یہ آپ کے براؤزر میں پڑھی اور لکھی جاتی ہے، اس لیے فائل آپ کے آلے سے باہر نہیں جاتی۔ پورا درخت برقرار رہتا ہے۔ ایک کلید والی شے دستاویز کا نام اسی کلید پر رکھتی ہے، اس لیے XML فائل کو JSON میں لے جا کر واپس لایا جائے تو وہ اپنے جیسی ہی لگتی ہے؛ صف اپنا عنصر دہراتی ہے؛ @ سے شروع ہونے والی کلید وصف بنتی ہے۔ JSON کی کوئی بھی کلید لفظ ہو سکتی ہے؛ XML کے عنصر کا نام نہیں ہو سکتا۔ جو کلید جائز نام نہ ہو اسے توڑ مروڑ کر جائز نام نہیں بنایا جاتا: وہ item عنصر بنتی ہے جس کا وصف name ہوتا ہے، اس لیے اصل فائل میں موجود رہتی ہے اور ڈھونڈی جا سکتی ہے۔ کسی چیز کو نیم اسپیس نہیں دیا جاتا، اور کسی چیز کو اسکیما نہیں دیا جاتا: نتیجہ درست ساخت کا ہے، توثیق شدہ نہیں۔

لمبائی اور رقبہ کمیت اور حجم درجۂ حرارت کرنسیاں