محوّل JSON إلى XML
حوّل JSON إلى XML وXML إلى JSON في متصفحك، مع معالجة السمات والعناصر المتكررة ومقاطع CDATA. لا يُرفع أي شيء إلى خادم.
كيفية استخدام محوّل JSON إلى XML
- اختر اتجاه التحويل: JSON → XML أو XML → JSON.
- الصق بياناتك، أو انقر فتح ملف لتحميل ملف
.jsonأو.xml(حتى 10 MB). - اضبط الخيارات: المسافة البادئة (مسافتان أو 4 مسافات أو علامة جدولة أو بلا (مضغوط)) للاتجاهين، والعنصر الجذر وإضافة تصريح XML لاتجاه JSON → XML، وتحويل الأرقام والقيم المنطقية لاتجاه XML → JSON.
- انقر تحويل. تتحدّث النتيجة أيضًا أثناء الكتابة، وتعرض الأخطاء رقم السطر والعمود حيث وُجدت المشكلة.
- انسخ النتيجة أو نزّلها. يعيد زر عكس الاتجاه الناتج إلى مربع الإدخال لتتحقق من رحلة الذهاب والإياب.
كيف يقابل JSON بنية XML
لا يشترك XML وJSON في نموذج البيانات نفسه، لذا يتّبع كل محوّل اصطلاحًا معيّنًا. تعتمد هذه الأداة الاصطلاح الواسع الانتشار في مكتبة fast-xml-parser:
| JSON | XML |
|---|---|
{"title": "Dune"} |
<title>Dune</title> |
{"book": {"@id": "42"}} |
<book id="42"/> |
{"p": {"@lang": "en", "#text": "Hi"}} |
<p lang="en">Hi</p> |
{"tag": ["a", "b"]} |
<tag>a</tag><tag>b</tag> |
- المفاتيح التي تبدأ بـ
@تصبح سمات (attributes)، ويحمل المفتاح#textنص العنصر الذي له سمات أيضًا. - المصفوفة تصبح عنصرًا متكررًا بالاسم نفسه.
- يحتاج مستند XML إلى عنصر جذر واحد بالضبط. فإذا كان JSON كائنًا بمفتاح واحد قيمته كائن، يصبح ذلك المفتاح هو الجذر. وإلا فتُغلَّف القيمة كلها بالعنصر المسمّى في العنصر الجذر (
rootافتراضيًا)، وتصبح عناصر المصفوفة في المستوى الأعلى عناصر<item>. - تُصحَّح المفاتيح التي ليست أسماء XML صالحة: تتحول المسافات والرموز إلى
_، ويُضاف_في بداية الاسم الذي يبدأ برقم ("1st place"←<_1st_place>). - تعطي
nullوالسلاسل الفارغة عنصرًا فارغًا مثل<note/>. وتُهرَّب المحارف الخاصة (&و<و>وعلامات الاقتباس).
كيف يقابل XML بنية JSON
- تصبح السمات مفاتيح مسبوقة بـ
@، ويصبح النص المختلط#text. - تصبح العناصر المتكررة مصفوفة، أما العنصر الذي يظهر مرة واحدة فيصبح قيمة مفردة.
- تُدمج مقاطع CDATA في النص، وتُفكّ الكيانات مثل
&. ويُحذف تصريح XML وتعليمات المعالجة والتعليقات. - مع تحويل الأرقام والقيم المنطقية، يصبح
<price>12.5</price>الرقم12.5، وتصبحtrueقيمة منطقية، بينما تبقى القيم ذات الصفر البادئ مثل007نصوصًا. ألغِ الخيار لتبقى كل القيم نصًا.
قبل التحويل، يُفحص XML للتأكد من سلامة بنيته: يُبلَّغ عن وسم إغلاق ناقص، أو وسم غير متطابق، أو محرف & غير مهرَّب، مع رقم السطر والعمود.
الأسئلة الشائعة
هل تُرسل بياناتي إلى خادم؟
لا. يجري التحويل بالكامل في متصفحك، فتبقى خلاصات XML ورسائل SOAP وملفات الإعدادات على جهازك.
لماذا يصبح عنصر ما مصفوفة في ملف وكائنًا في ملف آخر؟
لا يحدد XML ما إذا كان العنصر قائمة. فعندما يظهر <tag> مرتين يصبح مصفوفة، وعندما يظهر مرة واحدة يصبح قيمة مفردة. إذا كانت شيفرتك تتوقع مصفوفة، فعالج الحالتين، أو أضف عنصرًا ثانيًا عند الاختبار.
لماذا لا تكون رحلة الذهاب والإياب متطابقة دائمًا؟
بعض المعلومات ليس لها مقابل في الجهة الأخرى: التعليقات، وترتيب المحتوى المختلط، والفرق بين مصفوفة بعنصر واحد وقيمة مفردة. أما مع مستندات البيانات المعتادة، فإن تحويل JSON → XML → JSON يعيد البنية نفسها.
هل يمكنني استخدام فضاءات الأسماء (namespaces)؟
نعم. تبقى الأسماء المسبوقة مثل soap:Envelope والسمات مثل @xmlns:soap كما هي في الاتجاهين.
هل تتحقق الأداة من XML مقابل مخطط XSD؟
لا. تتحقق من سلامة بنية XML، لكنها لا تتحقق من صحته مقابل DTD أو مخطط XSD.
أدوات ذات صلة
- منسّق JSON ومدقّقه أداة مجانية لتنسيق JSON والتحقق من صحته: جمّل JSON واضغطه وافحصه في متصفحك، مع تحديد أخطاء الصياغة بالسطر والعمود.
- محوّل JSON إلى YAML حوّل JSON إلى YAML وYAML إلى JSON في متصفحك، مع دعم المراسي ومفاتيح الدمج والملفات متعددة المستندات. لا يُرفع أي شيء.
- محوّل JSON إلى CSV حوّل JSON إلى CSV وCSV إلى JSON في متصفحك: تُسطَّح المفاتيح المتداخلة إلى أعمدة، ويُكتشف الفاصل تلقائيًا، ولا يُرفع أي شيء.