XML to JSON Converter
Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.
Select XML file
or drag and drop here
Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.
or drag and drop here
يعد كل من XML وJSON من تنسيقات تبادل البيانات ولكنهما ينتميان إلى عصور مختلفة من الويب. تم تصميم XML، الذي تم توحيده في عام 1998، كتنسيق ترميزي يصف نفسه ذاتيًا مع السمات ومساحات الأسماء والتحقق من صحة المخطط. ظهرت JSON في أوائل العقد الأول من القرن الحادي والعشرين كتنسيق خفيف الوزن ومناسب بشكل أفضل لأوقات تشغيل JavaScript وواجهات برمجة التطبيقات الحديثة. معظم واجهات برمجة تطبيقات الويب الجديدة تتحدث لغة JSON؛ العديد من الأنظمة القديمة - خدمات SOAP، وموجزات RSS، وملفات التكوين، وعمليات تكامل المؤسسات - لا تزال تنتج XML. يعد التحويل بينهما أحد أكثر مهام التشغيل المتداخل شيوعًا في التطوير الحديث.
لا يتم التحويل بدون خسارة تمامًا لأن التنسيقين لهما قوة تعبيرية مختلفة. يحتوي XML على سمات (لا يمتلكها JSON أصلاً)، ويميز بين محتوى النص وأسماء العناصر، ويدعم المحتوى المختلط (العناصر التي تحتوي على عناصر نصية وعناصر فرعية). لا يمكن لنموذج الكائن/المصفوفة المباشر لـ JSON أن يمثل هذه الميزات بشكل مباشر، لذلك تطبق المحولات الاصطلاحات: تصبح السمات مفاتيح مسبوقة @، ويصبح محتوى النص مفتاح #text، وهكذا.
يقوم هذا المحول بتوزيع XML باستخدام DOMParser المدمج في المتصفح ويسير في شجرة DOM الناتجة لإنتاج JSON. يتم جمع العناصر التي لها نفس اسم العلامة مثل الأشقاء في صفائف؛ السمات تدخل في مفاتيح خاصة؛ يتم الاحتفاظ بمساحات الأسماء وتعليمات المعالجة عند وجودها. والنتيجة هي JSON التي يمكن قراءتها بواسطة الإنسان والتي تعود بشكل معقول إلى XML.
تعتبر معظم أكواد التطبيقات الحديثة أكثر راحة مع JSON. تقوم JavaScript بتحليل JSON محليًا، ووحدة Python json موجودة في المكتبة القياسية، وتحظى كل لغة أخرى تقريبًا بدعم JSON مكافئ من الدرجة الأولى. تتطلب معالجة XML استيراد مكتبات إضافية وكتابة المزيد من البيانات النموذجية. غالبًا ما يكون تحويل XML الوارد إلى JSON قبل المعالجة هو المسار الأسرع من موجز XML الخارجي إلى بنية البيانات الداخلية.
تميل الأدوات أيضًا إلى JSON. أدوات تجميل JSON، والمدققون، ومدققو المخطط، ولغات الاستعلام (jq، JSONPath)، والمشاهدون وفيرة؛ معادلات XML أقل وأقدم في كثير من الأحيان. يفتح العمل في JSON نظامًا بيئيًا أكثر ثراءً من الأدوات.
الصق XML واحصل على JSON.
يقوم DOMParser بإنتاج XML DOM مطابق لما يستخدمه المتصفح لصفحات XHTML. يقوم المحول بتشغيل DOM هذا بشكل متكرر. يقوم بإنشاء كائن JSON لكل عنصر: تصبح السمات مفاتيح مسبوقة بـ @ (على سبيل المثال، @id، @class)؛ يتم تكرار العناصر الفرعية للعنصر في نفس البنية؛ المحتوى النصي، عند وجوده بجانب الأطفال، يكون موجودًا تحت مفتاح #text.
يتم جمع العناصر الفرعية المتكررة التي تحمل نفس اسم العلامة في مصفوفة JSON. يظهر طفل واحد لاسم معين كقيمة كائن؛ يظهر العديد من الأطفال كمجموعة من الكائنات. تعمل هذه الاتفاقية بشكل جيد من الناحية العملية ولكنها تعني أن شكل JSON يعتمد على ما إذا كانت العناصر تظهر مرة واحدة أو عدة مرات - وهو عيب معروف في تعيين XML إلى JSON.
يتم الاحتفاظ بمساحات الأسماء كجزء من أسماء العناصر (البادئة: الاسم المحلي). يتم تحويل تعليمات المعالجة وأقسام CDATA إلى محتوى نصي. تتم إزالة تعريفات XML وDOCTYPE من مخرجات JSON ولكنها لا تؤثر على البيانات.