محوّل XML إلى JSON

يمكن لصق وثيقة XML والحصول على JSON مقابل لها. تصبح السمات مفاتيح تبدأ بـ @، ويصبح نص العنصر #text، وتصبح العناصر المتكررة مصفوفة. ولا يغادر ما تلصقه متصفحك.

مجانية تعمل داخل متصفحك آخر مراجعة: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة

وثيقة XML سليمة التركيب. تُعرض المشكلة مع سطرها وعمودها.

النص مثل 12.5 أو true يصبح قيمة في JSON فقط إذا كُتب عند إعادته بالصيغة نفسها.

الإزاحة

النتيجة

JSON — انسخه، أو نزّله بصيغة converted.json.
العناصر — عدد العناصر التي قُرئت، بما فيها الجذر.
JSON

تعمل هذه الأداة داخل متصفحك. ما تكتبه فيها لا يُرسل إلينا.

طريقة الاستخدام

  1. الصق XML في XML. تُفحص أولاً، ويُعرض أي خلل مع سطره وعموده.
  2. أبقِ قراءة الأرقام وtrue وfalse كقيم مفعّلة لتحصل على 12.5 رقماً، أو ألغِ تحديدها لتبقى كل القيم نصوصاً.
  3. اختر الإزاحة، أو بلا فواصل أسطر (مضغوط) للحصول على أقصر JSON.
  4. انسخ JSON، أو نزّله بصيغة converted.json.

التعيين قاعدةً قاعدةً

يصبح عنصر الجذر العضو الوحيد في كائن JSON، فالجذر المسمّى catalog يعطي العضو catalog. تصبح السمة عضواً اسمه يبدأ بـ @، مثل @id. تصبح قيمة العنصر نصه عندما لا يحوي شيئاً آخر؛ وإذا كان له عناصر فرعية، يصبح النص العضو #text بعد إزالة الفراغات المحيطة به.

يصبح العنصر الفرعي عضواً باسمه. فإذا تكرر الاسم، تصبح الأعضاء مصفوفة بترتيب الوثيقة. والعنصر الذي لا سمات له ولا عناصر فرعية يكون null إذا كُتب مغلقاً ذاتياً (بشرطة مائلة في آخر وسمه)، ويكون نصاً فارغاً إذا كُتب بوسم فتح ووسم إغلاق.

  • تُحسب أقسام CDATA نصاً كما كُتبت، فالحرف < داخلها يبقى <.
  • تُحذف التعليقات وتعليمات المعالجة، لأن JSON لا يتسع لها.
  • تُقرأ المراجع مثل &amp; و&#65;، فيحمل النص الحروف التي تمثلها.

القيم المحددة النوع وما تغيّره

لا تملك XML أرقاماً ولا قيماً منطقية خاصة بها، فالعدد 12.5 في XML نص فقط. ومع خيار الأنواع، يُقرأ النص الذي تكتبه JSON رقماً أو true أو false بالضبط بالصيغة نفسها قيمةً. أما النص مثل 12.50 أو 007 فيبقى نصاً، لأن الرقم سيكتبه بصورة مختلفة.

القائمة ذات العنصر الواحد تعود عنصراً لا مصفوفة، لأن XML لا تميّز بين الاثنين. تذكّر ذلك عندما يقرأ JSON برنامج يتوقع مصفوفة.

مثال محلول: الكتالوج الافتراضي

الوثيقة الافتراضية كتالوج فيه كتابان. للكتاب الأول سمة id، وتتحول عناصره title وprice وinStock إلى مفاتيح. والكتاب الثاني لا يحوي عنصر inStock، وعنصر price الفارغ فيه يصبح null.

في JSON عضو واحد اسمه catalog، ومفتاح book فيه مصفوفة من كائنين. ويُظهر العداد 8 عناصر: الكتالوج والكتابان وعناصرهما الفرعية.

الأسئلة الشائعة

لماذا يخرج الرقم نصاً؟

النص الذي لا تعيده JSON رقماً بالضبط يبقى نصاً: فـ 12.50 يحتفظ بصفره، و007 يحتفظ بأصفاره الأولى. أطفئ خيار الأنواع لتبقى كل القيم نصوصاً.

لماذا يكون عنصر واحد كائناً لا مصفوفة؟

تُنشأ المصفوفة فقط عندما يتكرر الاسم مرتين أو أكثر بين العناصر الفرعية لعنصر واحد. والعنصر المنفرد يخرج بقيمته، وهذه هي النتيجة المعتادة في XML.

ماذا يحدث للتعليقات وتعليمات المعالجة؟

تُحذف، لأن JSON لا يتسع للتعليق، فالمحوّل يقرأ البيانات وحدها. احتفظ بملف XML إذا كانت التعليقات مهمة لك.

لماذا يعرض المحوّل سطراً وعموداً؟

يجب أن تكون XML سليمة التركيب قبل قراءتها. ويبيّن السطر والعمود أول موضع تخالف فيه الوثيقة قواعد XML، كوسم إغلاق لا يطابق وسم فتحه.

هل تُرسل XML الخاصة بي إلى خادم؟

لا. يعمل التحويل في متصفحك. لا يُرسل ما تلصقه إلى خادمنا، ولا يُحفظ هناك.

المصادر

آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.

نستخدم ملفات تعريف ارتباط ضرورية لتشغيل الموقع. وبموافقتك، تستخدم Google أيضاً ملفات تعريف ارتباط للإعلانات، لعرض إعلانات مخصصة. وإذا رفضتها، فستظل ترى إعلانات، لكنها لن تكون مخصصة لك.