XML سے JSON کنورٹر
XML ڈیٹا یا فائلوں کو اپنے براؤزر میں فوری طور پر JSON فارمیٹ میں تبدیل کریں۔ کسٹم انڈینٹیشن کو سپورٹ کرتا ہے اور نیسٹڈ ڈھانچے کو ہینڈل کرتا ہے۔
XML فائل کو منتخب کریں۔
یا یہاں گھسیٹیں اور چھوڑیں۔
XML ڈیٹا یا فائلوں کو اپنے براؤزر میں فوری طور پر JSON فارمیٹ میں تبدیل کریں۔ کسٹم انڈینٹیشن کو سپورٹ کرتا ہے اور نیسٹڈ ڈھانچے کو ہینڈل کرتا ہے۔
یا یہاں گھسیٹیں اور چھوڑیں۔
XML اور JSON دونوں ڈیٹا انٹرچینج فارمیٹس ہیں لیکن ویب کے مختلف ادوار سے آتے ہیں۔ XML، جو 1998 میں معیاری بنایا گیا تھا، کو صفات، نام کی جگہوں، اور اسکیما کی توثیق کے ساتھ خود بیان کرنے والے مارک اپ فارمیٹ کے طور پر ڈیزائن کیا گیا تھا۔ JSON 2000 کی دہائی کے اوائل میں ایک ہلکے وزن والے فارمیٹ کے طور پر ابھرا جو JavaScript کے رن ٹائمز اور جدید APIs کے لیے بہتر تھا۔ زیادہ تر نئے ویب APIs JSON بولتے ہیں؛ بہت سے پرانے سسٹمز — SOAP سروسز، RSS فیڈز، کنفیگریشن فائلز، انٹرپرائز انٹیگریشنز — اب بھی XML تیار کرتے ہیں۔ ان کے درمیان تبدیل ہونا جدید ترقی میں سب سے عام انٹراپ کاموں میں سے ایک ہے۔
تبدیلی بالکل بے عیب نہیں ہے کیونکہ دونوں فارمیٹس میں مختلف اظہاری طاقت ہے۔ XML میں اوصاف ہیں (جو JSON مقامی طور پر نہیں ہے)، متن کے مواد اور عنصر کے ناموں میں فرق کرتا ہے، اور مخلوط مواد (عناصر جس میں متن اور چائلڈ دونوں عناصر شامل ہیں) کی حمایت کرتا ہے۔ JSON کا سیدھا سادہ آبجیکٹ/ارے ماڈل ان خصوصیات کی براہ راست نمائندگی نہیں کر سکتا، اس لیے کنورٹرز کنونشنز کا اطلاق کرتے ہیں: اوصاف @-prefixed کیز بن جاتے ہیں، متن کا مواد #text کلید بن جاتا ہے، وغیرہ۔
یہ کنورٹر براؤزر کے بلٹ ان DOMParser کا استعمال کرتے ہوئے XML کو پارس کرتا ہے اور JSON پیدا کرنے کے لیے نتیجے میں DOM ٹری پر چلتا ہے۔ بہن بھائیوں کے طور پر ایک ہی ٹیگ نام والے عناصر کو صفوں میں جمع کیا جاتا ہے۔ اوصاف خصوصی کلیدوں میں جاتے ہیں۔ نام کی جگہیں اور پروسیسنگ ہدایات موجود ہونے پر محفوظ رہتی ہیں۔ نتیجہ انسانی پڑھنے کے قابل JSON ہے جو XML پر معقول طور پر واپس آتا ہے۔
زیادہ تر جدید ایپلیکیشن کوڈ JSON کے ساتھ زیادہ آرام دہ ہے۔ JavaScript JSON کو مقامی طور پر پارس کرتا ہے، Python کا json ماڈیول معیاری لائبریری میں ہے، اور عملی طور پر ہر دوسری زبان میں فرسٹ کلاس JSON سپورٹ کے برابر ہے۔ XML پروسیسنگ کے لیے اضافی لائبریریوں کو درآمد کرنے اور مزید بوائلر پلیٹ لکھنے کی ضرورت ہوتی ہے۔ پروسیسنگ سے پہلے آنے والے XML کو JSON میں تبدیل کرنا اکثر بیرونی XML فیڈ سے اندرونی ڈیٹا ڈھانچہ تک تیز ترین راستہ ہوتا ہے۔
ٹولنگ JSON کو بھی جھکا دیتی ہے۔ JSON beautifiers، validators، schema validators، query language (jq, JSONPath)، اور ناظرین بہت زیادہ ہیں۔ XML کے مساوی کم اور اکثر پرانے ہوتے ہیں۔ JSON میں کام کرنے سے ٹولز کا ایک بھرپور ماحولیاتی نظام کھل جاتا ہے۔
XML پیسٹ کریں، JSON حاصل کریں۔
DOMParser ایک XML DOM تیار کرتا ہے جیسا کہ براؤزر XHTML صفحات کے لیے استعمال کرتا ہے۔ کنورٹر اس DOM کو بار بار چلتا ہے۔ ہر عنصر کے لیے یہ ایک JSON آبجیکٹ بناتا ہے: اوصاف @ کے ساتھ سابقہ والی کلید بن جاتے ہیں (جیسے، @id، @class)؛ عنصر کے چائلڈ عناصر کو ایک ہی ڈھانچے میں دہرایا جاتا ہے۔ متنی مواد، جب بچوں کے ساتھ موجود ہوتا ہے، ایک #text کلید کے تحت رہتا ہے۔
ایک ہی ٹیگ نام کے ساتھ بار بار چائلڈ ایلیمنٹس کو JSON صف میں جمع کیا جاتا ہے۔ دیئے گئے نام کا ایک بچہ ایک آبجیکٹ ویلیو کے طور پر ظاہر ہوتا ہے۔ متعدد بچے اشیاء کی ایک صف کے طور پر ظاہر ہوتے ہیں۔ یہ کنونشن عملی طور پر اچھی طرح سے کام کرتا ہے لیکن اس کا مطلب ہے کہ JSON شکل اس بات پر منحصر ہے کہ آیا عناصر ایک بار یا ایک سے زیادہ بار ظاہر ہوتے ہیں - XML-to-JSON میپنگ کی ایک معروف خامی۔
نام کی جگہیں عنصر کے ناموں کے حصے کے طور پر محفوظ ہیں (سابقہ: مقامی نام)۔ پروسیسنگ کی ہدایات اور CDATA سیکشنز کو ٹیکسٹ مواد میں تبدیل کر دیا جاتا ہے۔ XML ڈیکلریشنز اور DOCTYPEs JSON آؤٹ پٹ سے چھین لیے گئے ہیں لیکن ڈیٹا کو متاثر نہیں کرتے۔