UltKit

تحويل JSON إلى XML

سلّم بيانات JSON إلى برنامج لا يفهم إلا XML. يتحول كل سجل إلى عنصر، وكل مفتاح إلى وسم فرعي، ويقع المستند كله تحت عنصر جذر واحد تختار أنت اسمه.

محوّل البيانات

أو أفلت ملفات CSV, TSV, TXT … هنا ·

الحد الأقصى 95 MB لكل ملف· حتى 20 ملفًا· تُحذف بعد 30 دقيقة

الإخراج

تُعالج الملفات على خوادمنا وتُحذف بعد 30 دقيقة.

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

  1. 1

    ارفع ملف JSON

    أضف ملف .json، مثل استجابة API، أو ملف JSON Lines. حتى 20 ملفًا، وحجم كل ملف حتى 95 MB.

  2. 2

    سمِّ العنصر الجذر

    ضمن الإعدادات المتقدمة، اكتب الوسم الخارجي في الوسم الجذري لـ XML (القيمة الافتراضية rows) واترك تنسيق مقروء مفعّلًا للحصول على مخرجات بمسافات بادئة.

  3. 3

    حوّل وطابق الحقول

    اضغط التحويل إلى XML ثم نزّل الملف. غيّر أسماء الوسوم إذا كان مخطط النظام المستقبِل يتوقع أسماء مختلفة.

لماذا تحويل JSON إلى XML وقد انتقلت معظم واجهات API إلى JSON؟

انتصر JSON في واجهات الويب البرمجية؛ ومواصفته الحالية RFC 8259 الصادرة عام 2017 تتسع لبضع صفحات. أما XML فأقدم، وهو توصية W3C منذ فبراير 1998، ولم يغادر المجالات التي تشتد فيها العقود: المصارف والفوترة الإلكترونية والنشر والتقارير الحكومية.

لذلك يتبع اتجاه هذا التحويل في الغالب المال أو التنظيم. مطوّر يجلب الطلبات من API بصيغة JSON ويجب أن يرسلها إلى خدمة SOAP لدى شريك. متجر يحفظ منتجاته في JSON بينما يريد موقع المقارنة ملف XML. فريق يخزّن الترجمات في JSON وبناء Android يتوقع strings.xml. وإذا كانت الوجهة جدول بيانات، فإن تحويل JSON إلى CSV يمنحك صفوفًا بدل العناصر.

أنظمة لا تزال تتطلب مدخلات XML

أين يُستخدم محول JSON إلى XML
الجهةالمتطلبالمصدر
خدمات SOAP على الويبيُرسل كل طلب في مظروف XML؛ وأصبح SOAP 1.2 توصية W3C عام 2003—
Google Merchant Centerتُقبل ملفات المنتجات بصيغة XML وفق RSS 2.0 أو Atom 1.0، إضافة إلى النص المفصول بفواصل—
الفوترة الإلكترونية Peppolتُتبادل الفواتير في مستندات UBL 2.1 XML وفق قواعد Peppol BIS Billing 3.0—
تطبيقات Androidتوجد الموارد النصية والترجمات في res/values/strings.xml—

مثال على تحويل JSON إلى XML: منتجان

XML المكتوب من [{"sku":"A-17","price":12.5,"tags":["new","sale"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>جديد</tags>
    <tags>تخفيض</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

خرافةJSON وXML يتطابقان تمامًا، فالتحويل دقيق.

حقيقةفي XML سمات ومحتوى مختلط ومساحات أسماء لا يعرفها JSON، وفي JSON أنواع لا يعرفها XML. على المحوّل أن يختار تمثيلًا واحدًا؛ وهذا المحوّل يستخدم العناصر الفرعية في كل موضع.

خرافةالرقم 12.5 يبقى رقمًا في XML.

حقيقةيخزّن XML حروفًا. و12.5 نص إلى أن يحدد مخطط أو برنامج القراءة أنه عدد عشري.

ما الذي يتغير عند تحويل JSON إلى XML

ثلاثة أمور تستحق المراجعة. تتحول الأنواع إلى نص، فتصل true وnull و0 كلها حروفًا؛ وغالبًا يصبح null عنصرًا فارغًا. والمفاتيح التي ليست أسماء صالحة في XML يجب إعادة تسميتها، لأن الوسم لا يبدأ برقم ولا يحتوي مسافة. والمخرجات أكبر حجمًا، لأن كل قيمة محاطة بوسم فتح وإغلاق يكرران المفتاح.

لا يضيع شيء آخر. تبقى البنية المتداخلة عناصر متداخلة، ويُحفظ ترتيب السجلات، ويبقى نص Unicode سليمًا لأن الملف يُكتب بترميز UTF-8. خيارات أخرى للبيانات المنظمة، من YAML إلى SQL، مذكورة في صفحة تحويل البيانات.

حقائق عن صيغتي JSON و XML

JSON

ترميز كائنات JavaScript (JSON)

JSON تنسيق نصي خفيف للبيانات المنظمة، شاعه Douglas Crockford في أوائل الألفية، واعتُمد في RFC 8259 وECMA-404. يمثّل الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية وnull بصياغة بسيطة مقروءة. وهو التنسيق الافتراضي لواجهات الويب البرمجية وملفات الإعداد وتبادل البيانات بين التطبيقات في معظم لغات البرمجة. لا يتضمن تعليقات ولا تواريخ ولا مخططات، ويصعب قراءة الملفات الكبيرة المتداخلة دون عارض.

الضغط
–
الشفافية
–
الحركة
–
سنة الظهور
2001 · Douglas Crockford
محول JSON

XML

Extensible Markup Language

XML لغة ترميز للبيانات المنظمة نشرتها W3C عام 1998. تستخدم وسومًا متداخلة مع سمات وتدعم المخططات ومساحات الأسماء والتحقق، مما يجعلها متينة للمستندات المعقدة. تقوم عليها خلاصات RSS وSVG ومستندات Office وخرائط المواقع وكثير من عمليات تبادل البيانات في المؤسسات والجهات الحكومية. XML مطوّل مقارنة بـ JSON، لكن كل لغة برمجة وكثيرًا من أدوات الجداول تستطيع قراءته.

الضغط
–
الشفافية
–
الحركة
–
سنة الظهور
1998 · W3C
محول XML

يُحوَّل JSON إلى XML عندما تحتاج البيانات الحديثة إلى دخول نظام أقدم: نقطة SOAP، أو ملف منتجات، أو شبكة فوترة إلكترونية، أو ملف إعدادات كُتب مستهلكه لقراءة العناصر لا الأقواس المعقوفة.

الأسئلة الشائعة حول تحويل JSON إلى XML

لماذا يحتاج XML إلى عنصر جذر واحد بينما يبدأ ملف JSON لديّ بمصفوفة؟

تشترط مواصفة XML 1.0 أن يحتوي كل مستند سليم البنية على عنصر واحد بالضبط يضم كل ما عداه. مصفوفة JSON ليس لها غلاف كهذا، لذا يضيف المحوّل غلافًا يحمل الاسم المحدد في الوسم الجذري لـ XML، ويضع كل عنصر من المصفوفة داخله بوصفه <row>.

ماذا يحدث لمفاتيح JSON مثل "2024 total" أو "unit price"؟

كلاهما ليس اسم عنصر صالحًا في XML: لا يجوز أن يبدأ الاسم برقم ولا أن يحتوي على مسافات. أعد تسمية هذه المفاتيح في JSON قبل التحويل، ويفضّل أن تطابق أسماء الوسوم التي يستخدمها المخطط المستقبِل، حتى لا تحتاج المخرجات إلى تنظيف لاحقًا.

كيف تُكتب مصفوفة JSON داخل سجل في XML؟

كعنصر واحد يتكرر لكل قيمة. مصفوفة tags فيها ثلاث نصوص تصبح ثلاثة عناصر <tags> متتالية. أما المصفوفة الفارغة فلا يبقى لها أي أثر، وهذا من المواضع القليلة التي يفقد فيها تحويل JSON إلى XML معلومات.

هل سيجتاز ملف XML التحقق بمخطط XSD لدى شريكي؟

فقط إذا كانت البنية مطابقة أصلًا. يكتب المحوّل نسخة سليمة وأمينة من JSON، لكنه لا يعرف ترتيب العناصر أو مساحات الأسماء أو السمات التي يطلبها الطرف الآخر. اعتمد المخرجات نقطة بداية وعدّلها وفق المخطط.

هل يمكنني التحويل من XML إلى JSON مرة أخرى؟

استخدم تحويل XML إلى JSON. توقّع فروقًا بسيطة عند التحويل ذهابًا وإيابًا: يخزّن XML كل قيمة نصًا، فقد يعود رقم أو true كان في JSON على هيئة نص.