مفت کنورٹر

XML سے JSON کنورٹر

XML ڈیٹا یا فائلوں کو اپنے براؤزر میں فوری طور پر JSON فارمیٹ میں تبدیل کریں۔ کسٹم انڈینٹیشن کو سپورٹ کرتا ہے اور نیسٹڈ ڈھانچے کو ہینڈل کرتا ہے۔

XML فائل کو منتخب کریں۔

یا یہاں گھسیٹیں اور چھوڑیں۔

یا

اس ٹول کے بارے میں

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

تبدیلی بالکل بے عیب نہیں ہے کیونکہ دونوں فارمیٹس میں مختلف اظہاری طاقت ہے۔ XML میں اوصاف ہیں (جو JSON مقامی طور پر نہیں ہے)، متن کے مواد اور عنصر کے ناموں میں فرق کرتا ہے، اور مخلوط مواد (عناصر جس میں متن اور چائلڈ دونوں عناصر شامل ہیں) کی حمایت کرتا ہے۔ JSON کا سیدھا سادہ آبجیکٹ/ارے ماڈل ان خصوصیات کی براہ راست نمائندگی نہیں کر سکتا، اس لیے کنورٹرز کنونشنز کا اطلاق کرتے ہیں: اوصاف @-prefixed کیز بن جاتے ہیں، متن کا مواد #text کلید بن جاتا ہے، وغیرہ۔

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

XML کو JSON میں کیوں تبدیل کریں۔

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

ٹولنگ JSON کو بھی جھکا دیتی ہے۔ JSON beautifiers، validators، schema validators، query language (jq, JSONPath)، اور ناظرین بہت زیادہ ہیں۔ XML کے مساوی کم اور اکثر پرانے ہوتے ہیں۔ JSON میں کام کرنے سے ٹولز کا ایک بھرپور ماحولیاتی نظام کھل جاتا ہے۔

استعمال کرنے کا طریقہ

XML پیسٹ کریں، JSON حاصل کریں۔

  1. اپنا XML چسپاں یا اپ لوڈ کریں۔: ان پٹ ایریا میں XML ٹیکسٹ چسپاں کریں یا فائل ڈراپ کریں۔ XML کو اچھی طرح سے بنایا جانا چاہیے۔ خراب شدہ XML اندازے کے بجائے تجزیہ کی غلطی پیدا کرتا ہے۔
  2. تبدیل کریں: DOMParser ایک DOM بناتا ہے، کنورٹر ہر عنصر کو چلتا ہے، اور JSON کو انتساب کیز (@attr) اور ٹیکسٹ کنٹینٹ کیز (#text) کا استعمال کرتے ہوئے تیار کیا جاتا ہے جہاں ضرورت ہو۔ ایک ہی نام کے ساتھ بہن بھائی صفیں بن جاتے ہیں۔
  3. ساخت کا جائزہ لیں۔: اوصاف کی تصدیق کے لیے JSON کا معائنہ کریں، متن، اور نیسٹنگ کی توقع کے مطابق نقشہ بنائے گئے ہیں۔ استعمال شدہ کنونشنز (مثال کے طور پر، @ اوصاف کے لیے) آؤٹ پٹ میں نظر آتے ہیں۔
  4. ڈاؤن لوڈ یا کاپی کریں۔: .json کے بطور محفوظ کریں یا کلپ بورڈ میں کاپی کریں۔

عام استعمال کے معاملات

تکنیکی تفصیلات

DOMParser ایک XML DOM تیار کرتا ہے جیسا کہ براؤزر XHTML صفحات کے لیے استعمال کرتا ہے۔ کنورٹر اس DOM کو بار بار چلتا ہے۔ ہر عنصر کے لیے یہ ایک JSON آبجیکٹ بناتا ہے: اوصاف @ کے ساتھ سابقہ ​​والی کلید بن جاتے ہیں (جیسے، @id، @class)؛ عنصر کے چائلڈ عناصر کو ایک ہی ڈھانچے میں دہرایا جاتا ہے۔ متنی مواد، جب بچوں کے ساتھ موجود ہوتا ہے، ایک #text کلید کے تحت رہتا ہے۔

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

نام کی جگہیں عنصر کے ناموں کے حصے کے طور پر محفوظ ہیں (سابقہ: مقامی نام)۔ پروسیسنگ کی ہدایات اور CDATA سیکشنز کو ٹیکسٹ مواد میں تبدیل کر دیا جاتا ہے۔ XML ڈیکلریشنز اور DOCTYPEs JSON آؤٹ پٹ سے چھین لیے گئے ہیں لیکن ڈیٹا کو متاثر نہیں کرتے۔

بہترین طرز عمل

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

کیا XML کو JSON میں تبدیل کرنے سے مواد تبدیل ہوتا ہے؟
مواد کو ہر ممکن حد تک درست طریقے سے محفوظ کیا جاتا ہے۔ تاہم، کچھ فارمیٹ مخصوص خصوصیات میں براہ راست مساوی نہیں ہو سکتا، لہذا فارمیٹنگ میں معمولی فرق ہو سکتا ہے۔
ڈیٹا کو JSON فارمیٹ میں کیوں تبدیل کریں؟
JSON ویب APIs اور JavaScript ایپلیکیشنز کے لیے معیاری ڈیٹا فارمیٹ ہے۔ یہ انسانی پڑھنے کے قابل ہے، پروگرامنگ زبانوں کی طرف سے وسیع پیمانے پر تعاون یافتہ ہے، اور XML سے زیادہ آسان نحو ہے۔
کیا کنورٹر نیسٹڈ یا پیچیدہ XML ڈھانچے کو ہینڈل کرتا ہے؟
جی ہاں یہ ٹول JSON آؤٹ پٹ میں ڈیٹا کے مکمل ڈھانچے کو محفوظ رکھتے ہوئے، نیسٹڈ آبجیکٹ، اری، اور تمام معیاری XML ڈیٹا کی قسموں کو درست طریقے سے پارس کرتا ہے۔
کیا یہ تبدیلی محفوظ اور نجی ہے؟
جی ہاں تمام پروسیسنگ آپ کے براؤزر میں مقامی طور پر ہوتی ہے۔ آپ کا ڈیٹا کبھی بھی آپ کے آلے سے نہیں نکلتا — کوئی سرور اپ لوڈ نہیں، کوئی کلاؤڈ پروسیسنگ نہیں، ڈیٹا اکٹھا نہیں کرنا۔
کیا CDATA سیکشنز کو سنبھالا جاتا ہے؟
جی ہاں CDATA مواد کو JSON آؤٹ پٹ میں سادہ متن میں تبدیل کیا جاتا ہے۔ CDATA ریپنگ خود محفوظ نہیں ہے، لیکن مواد ہے.
کیا میرا ڈیٹا سرور پر اپ لوڈ ہے؟
نمبر DOMparser آپ کے براؤزر میں چلتا ہے۔ تبدیلی مکمل طور پر آپ کے آلے پر ہوتی ہے۔
کیا JSON راؤنڈ ٹرپ XML پر واپس آئے گا؟
ہاں اگر آپ الٹا کنونشن استعمال کرتے ہیں (JSON سے XML ٹول اسی @attr اور #text اصولوں کی پیروی کرتا ہے)۔ راؤنڈ ٹرپ عام XML کے ڈھانچے کو محفوظ رکھتا ہے۔ کچھ ایج کیسز (مخلوط مواد کی ترتیب، پروسیسنگ ہدایات) بالکل ٹھیک نہیں رہ سکتے۔
زیادہ سے زیادہ ان پٹ سائز کیا ہے؟
50 MB تک۔ DOMParser آپ کے براؤزر کے ذریعے میموری سے منسلک ہے۔ بہت بڑی XML فائلیں سست ہو سکتی ہیں یا تجزیہ کرنے میں ناکام ہو سکتی ہیں۔