ما هو محوّل XML إلى JSON؟
يُحوّل محوّل XML إلى JSON مستندات XML إلى JSON مُهيكل فوراً. يتعامل مع السمات والعناصر المتداخلة وعُقد النص وأقسام CDATA ومساحات الأسماء. مفيد عند ترحيل واجهات XML إلى أنظمة JSON أو التعامل مع بيانات XML في JavaScript.
المحوّل يستعمل fast-xml-parser في الخلفية، فيتعامل مع XML من العالم الحقيقي بما فيها مساحات الأسماء، كتل CDATA، المحتوى المختلط، والتداخل العميق. السمات تأخذ بادئة @_ في الخرج، العناصر المتكررة تُجمَّع تلقائياً كمصفوفات، ويمكنك تفعيل الوضع المضغوط لسطر واحد أو مسافة بادئة بـ ٢ أو ٤.
كيفية الاستخدام
- الخطوة 1 — الصق محتوى XML أو ارفع ملف XML. يتحقق المحوّل من البنية ويعرض أي أخطاء تحليل فورًا.
- الخطوة 2 — اضبط خيارات التحويل: الاحتفاظ بالسمات (كـ @attr) أو طي العناصر النصية فقط أو الحفاظ على المصفوفات للعناصر المتكررة.
- الخطوة 3 — انسخ مخرجات JSON المُنسّقة أو حمّلها كملف .json.
متى تستخدم
- تحديث خدمة SOAP أو تغذية RSS قديمة لواجهة جافاسكربت تتوقع JSON.
- تحميل بيانات استبيانات أو نتائج اختبارات بصيغة XML إلى قاعدة NoSQL تخزن مستندات JSON.
- أخذ إعدادات من تصدير XML لمزوّد وإعادة كتابتها لخط أنابيب YAML أو JSON.
النتيجة
تتلقى استجابة SOAP API بصيغة XML تحتوي عناصر منتجات متداخلة وسمات. الصقها للحصول على JSON نظيف حيث يصبح <product id="123"><name>Widget</name></product> هكذا: {"product":{"@id":"123","name":"Widget"}} — جاهز لكود الواجهة الأمامية.
الأسئلة الشائعة
- كيف تُمثَّل سمات XML في خرج JSON؟
- السمات تأخذ بادئة @_ لتمييزها عن العناصر الأبناء. مثلاً <book id="42"><title>Hi</title></book> يصير {"book":{"@_id":"42","title":"Hi"}}. أوقف خيار حفظ السمات لإسقاطها بالكامل لو كود المعالجة يحتاج محتوى العناصر فقط.
- ماذا يحدث حين يتكرر عنصر XML مثل عدة <item>؟
- العناصر المتكررة تُجمَّع تلقائياً في مصفوفة JSON. الظهور الأول يُنشئ المصفوفة، والأشقاء التاليون يُضافون، والعناصر الفردية تبقى كائنات عادية. هذه القاعدة هي ما يتوقعه معظم مستهلكي JSON من التغذيات المحوَّلة.
- هل يتعامل مع CDATA ومساحات الأسماء والتعليقات؟
- محتوى CDATA يُحفظ كما هو تحت مفتاح #cdata. مساحات الأسماء تبقى جزءاً من اسم العنصر (xmlns:prefix يظل مرفقاً). تعليقات XML تُحذف لأن JSON ليس لديه صياغة موازية لها.
- لماذا تخرج الأرقام عندي كنصوص بدل أرقام؟
- افتراضياً يحوّل المحوّل النص الرقمي إلى عدد ونص true/false إلى قيمة منطقية، فيصير 42 رقماً وليس "42". أوقف خيار «تحويل الأرقام والقيم المنطقية» من الإعدادات لو الـ API المستهلكة تتطلب كل القيم كنصوص، أو لو الأصفار الأولية وحقول الـ ID يجب أن تبقى كما هي.
- ما الحجم الذي يستطيع المحوّل التعامل معه من XML؟
- يعمل بالكامل على جهازك، فالسقف العملي هو ذاكرتك، عادة عشرات الميغابايت لمستند واحد. التغذيات الضخمة (غيغابايت) تحتاج محلِّل تدفّق، لكن في حمولات API والصادرات والإعدادات اليومية لن تصل إلى حد.
أدوات ذات صلة
باحث القوافي
ابحث عن قوافٍ مطابقة وقريبة لأي كلمة
محلل التبديلات الحرفية
اعثر على جميع الكلمات المشكّلة من حروف كلمة معيّنة
محرك بحث Unicode
ابحث عن رموز Unicode بالاسم أو الكود
مشفّر/فكّ تشفير URL
ترميز وفك ترميز الروابط فوراً
الأبجدية الصوتية للناتو
حوّل النص إلى الأبجدية الصوتية للناتو
عداد الفقرات
عدّ الفقرات في نصك