يعمل على جهازك · الملف لا يغادر جهازك.
أضف ملف .xml أو الصق XML من واجهة برمجية أو خلاصة أو ملف إعدادات واحصل على JSON. يقرأ المستندَ محللُ XML في متصفحك نفسه، بالترميز الذي يعلنه سطره الأول، فكل ملف سليم البنية يُحوَّل، والملف المعطوب يُبلَّغ عنه برقم السطر والعمود وبما الخطأ هناك.
التحويل ثابت وقابل للعكس: كل عنصر مفتاح؛ والعناصر المتجاورة بالاسم نفسه مصفوفة؛ والسمات مفاتيح تبدأ بـ @ (id="A3" تصبح "@id": "A3")؛ وحين يجمع العنصر نصًا وعناصر أو سمات يوضع النص تحت "#text". ومع تفعيل التعرّف على الأنواع يصبح النص 12 رقمًا وtrue قيمة منطقية والعنصر الفارغ null.
ليست مناسبة لِـ: المستندات غير سليمة البنية (وسوم غير مغلقة، صفحات HTML) — يُبلَّغ عن أول خطأ ولا يُخمَّن.
يشمل التعرّف على الأنواع السماتِ كما يشمل النص، ولا يغيّر القيمة إلا حيث لا يضيع شيء. مع تفعيله يصبح id="3" هو "@id": 3، بينما يبقى id="007" النص "007". ويبقى 1.50 نصًا أيضًا، لأنه لو صار رقمًا لكُتب من جديد 1.5. وتصبح TRUE هي true. والعنصر الفارغ مثل <note/>، والعنصر الذي لا يحوي إلا مسافات، يصبحان null؛ أما كلمة NULL فتبقى نصًا. والتواريخ مثل 2024-01-05 لا تُحوَّل أبدًا.
ومع تعطيل التعرّف تصبح العناصر الفارغة "" وتبقى كل قيمة نصًا كما كُتبت تمامًا.
بعض أجزاء مستند XML لا مكان لها في JSON فتُحذف: التعليقات وتعليمات المعالجة وDOCTYPE. وأقسام CDATA تصبح نصًا عاديًا، فيعطي <a><![CDATA[<b>x</b>]]></a> القيمة "a": "<b>x</b>".
ويضيع الترتيب بين العناصر المختلفة الأسماء، لأن كل اسم يصبح مفتاحًا واحدًا. ففي <step>1</step><note/><step>2</step> تُجمع الخطوتان في "step": [1, 2]، ولا شيء يسجّل أن note كان بينهما. والنص المختلط بالوسوم يفقد موضعه بالطريقة نفسها: <p>Hello <b>world</b> and <i>you</i>!</p> يصبح "b": "world" و"i": "you" و"#text": "Hello and !". أما المستندات التي يكون هذا الترتيب فيها هو المحتوى نفسه، كالنصوص المنسّقة، فلا يناسبها هذا التحويل.
تبقى الأسماء ذات البادئة كما كُتبت، وتظهر تعريفات مساحات الأسماء سماتٍ: <soap:Envelope xmlns:soap="…"> يعطي مفتاحًا "soap:Envelope" فيه "@xmlns:soap"، وتعيد /json-to-xml الاثنين إلى XML نفسه.
وعدا الكيانات التي يعرّفها DOCTYPE المستند نفسه، لا يُفهم إلا الخمسة المدمجة في XML (& < > " ') والكيانات الرقمية مثل  . وحين يتوقف المحلل تذكر الرسالة السطر والعمود وتقول بكلام واضح ما الخطأ: عنصر أُغلق باسم آخر، أو اسم مجهول مثل (اكتب   بدلًا منه)، أو علامة & أو < وحدها، أو عنصر ثانٍ في أعلى المستند، أو ملف ينتهي قبل أوانه.
ويُقرأ الملف بالترميز الذي يعلنه سطره الأول، مثل ISO-8859-1 أو windows-1256. ومن دون إعلان يُقرأ UTF-8 أو UTF-16، وتُعرف صفحات الترميز القديمة كما هو مشروح في /csv-to-json.
هذه الصفحة بلغات أخرى: English · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা