UltKit

تحويل XML إلى JSON

انقل البيانات من استجابة SOAP أو خلاصة RSS أو ملف إعدادات أو تصدير من نظام قديم إلى JSON الذي تقرؤه JavaScript أو Python أو أداة البرمجة بدون كود مباشرةً، دون أن تكتب محللًا بنفسك.

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

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

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

الإخراج

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

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

  1. 1

    ارفع ملف XML

    أسقط ملفات .xml في منطقة الرفع، بحد أقصى 20 ملفًا في الدفعة الواحدة و95 MB لكل ملف. يُحوَّل كل ملف على حدة.

  2. 2

    اختر التنسيق المقروء أو المضغوط

    خيار تنسيق مقروء مفعّل، وهو يضيف مسافات بادئة إلى JSON ليسهل قراءته ومراجعته في الشيفرة. أوقفه من الإعدادات المتقدمة للحصول على أصغر ناتج في سطر واحد لاستخدامه في حمولة API.

  3. 3

    حوّل الملف واستخدم JSON

    اضغط التحويل إلى JSON، ثم نزّل ملف .json وحمّله في شيفرتك أو أداتك.

ارفع ملف XML واضغط التحويل إلى JSON: تصبح العناصر مفاتيح، وتصبح العناصر المتكررة مصفوفات، وتُحفظ السمات كمفاتيح تبدأ بـ @، فلا تضيع أي معلومة في الوسوم.

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

أصبح XML 1.0 توصية من W3C في فبراير 1998، وطوال العقد التالي كان وسيلة تخاطب الأنظمة: خدمات SOAP، وخلاصات RSS وAtom، ومستندات Office، والرسائل المصرفية، وكتالوجات المنتجات. ولا يزال كثير من تلك الأنظمة يعمل. أما JSON، المحدد في RFC 8259، فقد استحوذ على واجهات API الجديدة لأن JavaScript تقرؤه دون مكتبة تحليل، ولأنه يقابل القوائم والقواميس مباشرة في أغلب اللغات.

لذلك يكون من يحوّلون عادةً بصدد الربط بين عصرين. مطوّر واجهات أمامية يتلقى استجابة SOAP من مزوّد دفع أو شحن ويريد كائنًا بسيطًا. ومنشئ أتمتة في Zapier أو Make يجلب خلاصة XML لمورّد إلى مسار يعمل أفضل مع JSON. ومهندس بيانات ينقل ملفات إعدادات من تطبيق Java قديم، أو طالب يحتاج خلاصة RSS بصيغة JSON لمشروع دراسي. كلٌّ منهم يريد البنية نفسها دون الأقواس الزاوية.

تحويل XML إلى JSON: كيف تُنقل الوسوم والسمات والنصوص

مدخل XML: طلب بسمة واحدة وعميل واحد وعنصرين
<order id="A-77">
  <customer>لينا العمر</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">مصباح مكتب</item>
  <item sku="0108">مصباح LED</item>
</order>
كيف يظهر كل جزء من الطلب أعلاه في JSON
بنية XMLمثالناتج JSON
العنصر الجذر<order>مفتاح المستوى الأعلى order
سمةid="A-77""@id": "A-77"
عنصر يحتوي نصًا فقط<customer>"customer": "لينا العمر"
نص مع سمة<total currency="EUR">…</total>{"@currency": "EUR", "#text": "59.90"}
عنصر متكرروسما <item>مصفوفة "item": [ … , … ]
تعليق<!-- note -->يُحذف؛ لا يدعم JSON التعليقات

XML

Extensible Markup Language

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

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

JSON

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

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

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

يُحوَّل XML إلى JSON عندما تحتاج بيانات من نظام قديم أو مؤسسي إلى الوصول إلى تطبيق ويب أو سكربت أو أداة أتمتة: يُحلَّل JSON بشكل أصلي في JavaScript ويقابل قواميس Python مباشرة.

ميزات في XML لا مكان لها في JSON

كلا الصيغتين تصف أشجارًا، لكن XML يحمل إضافات لم يعرفها JSON. فضاءات الأسماء، التي حدّدها W3C عام 1999، تتيح لمستند واحد الجمع بين مفردات مثل soap: وxsi:؛ وفي JSON تبقى فقط جزءًا من أسماء المفاتيح. أما التعليقات وتعليمات المعالجة فلا مكان لها فتُحذف. والمحتوى المختلط، أي النص المتداخل مع وسوم فرعية كفقرة XHTML فيها كلمة غامقة، صالح في XML لكنه يصبح غير ملائم في JSON، لذا الأفضل تحويل XML الشبيه بالمستندات إلى HTML أو Markdown بدل JSON.

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

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

لماذا يظهر العنصر نفسه مصفوفةً في ملف وكائنًا في ملف آخر؟

المحوّل لا يرى إلا ما هو موجود في المستند. إذا كان في الطلب ثلاثة وسوم item، تصبح العناصر مصفوفة؛ وإذا كان فيه وسم واحد فلا يوجد ما يتكرر، فيصبح كائنًا واحدًا. يجب أن تقبل الشيفرة التي تقرأ JSON الشكلين، أو تضع الكائن المفرد داخل مصفوفة قبل التكرار عليه.

كيف تُكتب سمات XML في JSON؟

يتحول كل سمة إلى مفتاح يسبق اسمه الرمز @، فيصبح currency="EUR" هو "@currency": "EUR". وعندما يحتوي العنصر على سمات ونص معًا، يوضع النص في مفتاح #text بجانبها. يمنع هذا الاصطلاح تعارض السمات مع العناصر الفرعية عندما يتشابه اسماهما.

هل تتحول الأرقام في XML إلى أرقام JSON؟

لا يملك XML أنواع بيانات خاصة به؛ فالقيمتان 42 و"42" متطابقتان في الوسم. لذلك تخرج القيم نصوصًا، وهذا يحفظ الرموز البريدية والمعرّفات مثل 007. حوّل الحقول التي تحتاجها شيفرتك إلى أرقام بعد التحليل.

ماذا يحدث لبادئات مساحات الأسماء مثل soap:Envelope؟

تبقى البادئة جزءًا من اسم المفتاح، فيظهر الغلاف soap:Envelope ويظهر إعلان فضاء الأسماء بمفتاح @xmlns:soap. بهذا تبقى العناصر من مفردات مختلفة منفصلة؛ احذف البادئات في شيفرتك إذا كنت تتعامل مع مفردات واحدة فقط.

هل يمكنني تحويل JSON إلى XML مرة أخرى بعد ذلك؟

نعم، عبر JSON إلى XML. وباتباع اصطلاح @ و#text نفسه، تعود السمات سمات. أما التعليقات والمسافات البادئة الأصلية فلا تعود، لأن JSON لم يحتفظ بها.