JSON إلى XML

الصق مستند JSON واحصل على مكافئه بصيغة XML باسم عنصر الجذر الذي تختاره، واستراتيجية متسقة للمصفوفات (عناصر مكررة أو غلاف)، وإعلان XML اختياري، ومسافات بادئة أنيقة. مفيد عندما يطلب نظام قديم XML بينما تعيش بياناتك المصدرية بصيغة JSON.

كيف تحوّل JSON إلى XML

  1. 1

    الصق JSON

    كائن أو مصفوفة في المستوى الأعلى. ستعطي عنصر الجذر اسما.

  2. 2

    سمّ الجذر

    يتطلب XML عنصر جذر واحدا. الافتراضي هو `<root>`؛ أعطه اسما ذا معنى مثل `<users>` أو `<response>`.

  3. 3

    اختر استراتيجية المصفوفات

    «عناصر مكررة» (يصبح كل عنصر مصفوفة عنصرا شقيقا `<item>`) أو «غلاف» (تذهب المصفوفة داخل عنصر غلاف مسمى).

  4. 4

    انسخ XML

    إعلان XML اختياري، ومسافات بادئة سليمة، وقيم محوّلة إلى كيانات لـ `<` و `>` و `&` وعلامات الاقتباس.

مثال: عناصر مكررة

المدخل:

{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }

المخرج:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <users>
    <name>Alice</name>
  </users>
  <users>
    <name>Bob</name>
  </users>
</root>

مثال: غلاف المصفوفة

المدخل نفسه مع استراتيجية «تغليف المصفوفات في <item>»:

<root>
  <users>
    <item>
      <name>Alice</name>
    </item>
    <item>
      <name>Bob</name>
    </item>
  </users>
</root>

تعيين الأنواع

JSON XML
سلسلة نصية محتوى نصي محوّل إلى كيانات
عدد صحيح / عشري محتوى نصي (دون تعليق نوع XML)
منطقي true / false كنص
null عنصر فارغ (<foo/>) أو محذوف
مصفوفة عناصر مكررة أو غلاف + عناصر
كائن عنصر متداخل مع عناصر فرعية

السمات مقابل العناصر

يميّز XML بين السمات (<user id="1">) والعناصر الفرعية (<user><id>1</id></user>). يفترض المحوّل العناصر افتراضيا، فهي غير فاقدة عند الرحلة ذهابا وإيابا. إذا كان XML الناتج يتطلب سمات، فاستخدم عرف بادئة المفتاح:

  • يصبح مفتاح JSON @id سمة XML باسم id="..." على العنصر الأب.
  • يصبح مفتاح JSON #text المحتوى النصي للعنصر الأب.

تأتي هذه الأعراف من تعيينَي BadgerFish و Parker، وهما المعياران الأكثر شيوعا لتحويل JSON إلى XML.

قواعد الهروب

  • < -> &lt;
  • > -> &gt;
  • & -> &amp;
  • " -> &quot; (في قيم السمات)
  • ' -> &apos; (اختياري)
  • تُحفظ البايتات بترميز UTF-8، وتُعلن في مقدمة XML.

الأخطاء الشائعة

  • مصفوفة JSON في مستوى الجذر. يحتاج XML إلى عنصر جذر واحد. يغلّف المحوّل المصفوفة في <root> (أو أي اسم تختاره).
  • المفاتيح الرقمية. JSON {"1": "a"} صحيح؛ لكن أسماء عناصر XML لا يمكن أن تبدأ برقم. يضيف المحوّل شرطة سفلية قبل الأرقام (_1) أو يتيح لك تعريف تعيين مخصص.
  • المصفوفات المختلطة. [1, "two", { "x": true }] ليس لها تعيين نظيف. عادة يعني هذا أن JSON يحتاج إلى تطبيع قبل التحويل.
  • المستندات الضخمة. XML مسهب، يمكن أن يصبح JSON بحجم 10 ميغابايت بحجم 20-30 ميغابايت بصيغة XML. فكّر في التحويل المتدفق للحمولات الكبيرة جدا.

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

يتطلب XML جذرا واحدا بحسب المواصفة. إذا كان JSON الخاص بك مصفوفة أو فيه عدة مفاتيح في المستوى الأعلى، فإن المحوّل يغلّف كل شيء في عنصر جذر يمكنك تسميته (الافتراضي <root>).

نعم. استخدم عرف بادئة @ في مفاتيح JSON (مثل "@id": 1) فتصبح تلك المفاتيح سمات. تبقى المفاتيح الأخرى عناصر فرعية. هذا يطابق تعيين BadgerFish.

استراتيجيتان: عناصر شقيقة مكررة (يأخذ كل عنصر مفتاح الأب كوسمه)، أو غلاف يحوي عناصر <item>. اختر ما يطابق مخطط XML الذي تستهدفه.

لا. يصدر المحوّل إعلان XML (<?xml version="1.0"?>) لكن ليس DOCTYPE. لـ XML يحتاج إلى مرجع DTD أو XSD، أضفه يدويا بعد التحويل.

أدوات ذات صلة

الأداة متاحة بلغات أخرى