محول مجاني

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

أو

حول هذه الأداة

يعد كل من XML وJSON من تنسيقات تبادل البيانات ولكنهما ينتميان إلى عصور مختلفة من الويب. تم تصميم XML، الذي تم توحيده في عام 1998، كتنسيق ترميزي يصف نفسه ذاتيًا مع السمات ومساحات الأسماء والتحقق من صحة المخطط. ظهرت JSON في أوائل العقد الأول من القرن الحادي والعشرين كتنسيق خفيف الوزن ومناسب بشكل أفضل لأوقات تشغيل JavaScript وواجهات برمجة التطبيقات الحديثة. معظم واجهات برمجة تطبيقات الويب الجديدة تتحدث لغة JSON؛ العديد من الأنظمة القديمة - خدمات SOAP، وموجزات RSS، وملفات التكوين، وعمليات تكامل المؤسسات - لا تزال تنتج XML. يعد التحويل بينهما أحد أكثر مهام التشغيل المتداخل شيوعًا في التطوير الحديث.

لا يتم التحويل بدون خسارة تمامًا لأن التنسيقين لهما قوة تعبيرية مختلفة. يحتوي XML على سمات (لا يمتلكها JSON أصلاً)، ويميز بين محتوى النص وأسماء العناصر، ويدعم المحتوى المختلط (العناصر التي تحتوي على عناصر نصية وعناصر فرعية). لا يمكن لنموذج الكائن/المصفوفة المباشر لـ JSON أن يمثل هذه الميزات بشكل مباشر، لذلك تطبق المحولات الاصطلاحات: تصبح السمات مفاتيح مسبوقة @، ويصبح محتوى النص مفتاح #text، وهكذا.

يقوم هذا المحول بتوزيع XML باستخدام DOMParser المدمج في المتصفح ويسير في شجرة DOM الناتجة لإنتاج JSON. يتم جمع العناصر التي لها نفس اسم العلامة مثل الأشقاء في صفائف؛ السمات تدخل في مفاتيح خاصة؛ يتم الاحتفاظ بمساحات الأسماء وتعليمات المعالجة عند وجودها. والنتيجة هي JSON التي يمكن قراءتها بواسطة الإنسان والتي تعود بشكل معقول إلى XML.

لماذا تحويل XML إلى JSON

تعتبر معظم أكواد التطبيقات الحديثة أكثر راحة مع JSON. تقوم JavaScript بتحليل JSON محليًا، ووحدة Python json موجودة في المكتبة القياسية، وتحظى كل لغة أخرى تقريبًا بدعم JSON مكافئ من الدرجة الأولى. تتطلب معالجة XML استيراد مكتبات إضافية وكتابة المزيد من البيانات النموذجية. غالبًا ما يكون تحويل XML الوارد إلى JSON قبل المعالجة هو المسار الأسرع من موجز XML الخارجي إلى بنية البيانات الداخلية.

تميل الأدوات أيضًا إلى JSON. أدوات تجميل JSON، والمدققون، ومدققو المخطط، ولغات الاستعلام (jq، JSONPath)، والمشاهدون وفيرة؛ معادلات XML أقل وأقدم في كثير من الأحيان. يفتح العمل في JSON نظامًا بيئيًا أكثر ثراءً من الأدوات.

كيفية الاستخدام

الصق XML واحصل على JSON.

  1. قم بلصق أو تحميل ملف XML الخاص بك: الصق نص XML في منطقة الإدخال أو قم بإسقاط ملف. يجب أن يكون XML منسقًا بشكل جيد؛ ينتج عن ملف XML المشوه خطأ تحليلي بدلاً من التخمين.
  2. تحويل: ينشئ DOMParser DOM، ويسير المحول في كل عنصر، ويتم إنشاء JSON باستخدام مفاتيح السمات (@attr) ومفاتيح محتوى النص (#text) عند الحاجة. العناصر الشقيقة التي تحمل نفس الاسم تصبح صفائف.
  3. مراجعة الهيكل: افحص JSON للتأكد من تعيين السمات والنص والتداخل كما هو متوقع. تكون الاصطلاحات المستخدمة (على سبيل المثال، @ للسمات) مرئية في الإخراج.
  4. تنزيل أو نسخ: احفظه بتنسيق .json أو انسخه إلى الحافظة.

حالات الاستخدام الشائعة

التفاصيل الفنية

يقوم DOMParser بإنتاج XML DOM مطابق لما يستخدمه المتصفح لصفحات XHTML. يقوم المحول بتشغيل DOM هذا بشكل متكرر. يقوم بإنشاء كائن JSON لكل عنصر: تصبح السمات مفاتيح مسبوقة بـ @ (على سبيل المثال، @id، @class)؛ يتم تكرار العناصر الفرعية للعنصر في نفس البنية؛ المحتوى النصي، عند وجوده بجانب الأطفال، يكون موجودًا تحت مفتاح #text.

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

يتم الاحتفاظ بمساحات الأسماء كجزء من أسماء العناصر (البادئة: الاسم المحلي). يتم تحويل تعليمات المعالجة وأقسام CDATA إلى محتوى نصي. تتم إزالة تعريفات XML وDOCTYPE من مخرجات JSON ولكنها لا تؤثر على البيانات.

أفضل الممارسات

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

هل يؤدي تحويل XML إلى JSON إلى تغيير المحتوى؟
يتم الحفاظ على المحتوى بأكبر قدر ممكن من الدقة. ومع ذلك، قد لا تحتوي بعض الميزات الخاصة بالتنسيق على مكافئات مباشرة، لذلك يمكن أن تحدث اختلافات بسيطة في التنسيق.
لماذا تحويل البيانات إلى تنسيق JSON؟
JSON هو تنسيق البيانات القياسي لواجهات برمجة تطبيقات الويب وتطبيقات JavaScript. إنها قابلة للقراءة من قبل الإنسان، ومدعومة على نطاق واسع بلغات البرمجة، ولها بناء جملة أبسط من XML.
هل يتعامل المحول مع بنيات XML المتداخلة أو المعقدة؟
نعم. تقوم الأداة بتوزيع الكائنات المتداخلة والمصفوفات وجميع أنواع بيانات XML القياسية بشكل صحيح، مع الحفاظ على بنية البيانات الكاملة في مخرجات JSON.
هل هذا التحويل آمن وخاص؟
نعم. تتم جميع عمليات المعالجة محليًا في متصفحك. لا تترك بياناتك جهازك أبدًا - لا يوجد تحميل على الخادم، ولا معالجة سحابية، ولا جمع بيانات.
هل يتم التعامل مع أقسام CDATA؟
نعم. يتم تحويل محتوى CDATA إلى نص عادي في مخرجات JSON. لا يتم الاحتفاظ بتغليف CDATA نفسه، ولكن يتم الاحتفاظ بالمحتوى.
هل يتم تحميل بياناتي على الخادم؟
لا، يعمل DOMParser في متصفحك؛ يحدث التحويل بالكامل على جهازك.
هل ستعود رحلة JSON ذهابًا وإيابًا إلى XML؟
نعم، إذا كنت تستخدم الاصطلاح العكسي (تتبع أداة JSON to XML نفس قواعد @attr و#text). تحافظ الرحلة ذهابًا وإيابًا على بنية XML النموذجية؛ قد لا تستمر بعض حالات الحافة (ترتيب المحتوى المختلط وتعليمات المعالجة) بشكل مثالي.
ما هو الحد الأقصى لحجم الإدخال؟
ما يصل إلى 50 ميغابايت. DOMParser محدود بالذاكرة بواسطة متصفحك؛ قد تؤدي ملفات XML الكبيرة جدًا إلى إبطاء أو فشل التحليل.