أداة للمطورين / 01
محول XML إلى JSON
حوّل مستند XML إلى JSON مقروء، مع معالجة السمات والعناصر المتكررة بحكمة.
محول XML إلى JSON: يقرأ TOEA عناصر المستند وسماته ونصه وCDATA، ثم يدمجها في JSON: تُضاف @ إلى بداية السمات، ويتحول النص غير المرتبط إلى #text، وتصبح أسماء العناصر الشقيقة المتكررة مصفوفة. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.
- الفئة
- أدوات المطورين
- مرات التشغيل
- في المتصفح
- التكلفة
- مجاني · بلا تسجيل
- التوفر
- جاهز للاستخدام
تعمل بالكامل في المتصفح
حتى 5 MB · لا يتم رفع أي شيء
يصل كل شيء كنص
لا يحتوي XML على أنواع بيانات، لذلك يتحول <count>42</count> إلى "42"، ويتحول <active>true</active> إلى "true". حوّل الأرقام والقيم المنطقية في التعليمات البرمجية التي تقرأ JSON، حيث تعرف الحقول التي تمثلها. وينطبق الأمر نفسه على السمات: تحتوي @id على سلسلة نصية حتى عندما تبدو رقمية.
يجب أن تتعامل التعليمات البرمجية التي تقرأ الناتج أيضًا مع العناصر التي تتكرر أحيانًا فقط. يكون <item> كائنًا عند ظهوره مرة واحدة، ومصفوفة عند ظهوره مرتين، لذلك وحّد النوع باستخدام Array.isArray(x) ? x : [x] قبل التكرار.
المستندات التي لا تتحول جيدًا
يناسب التحويل البيانات، مثل الإعدادات واستجابات API والموجزات والتصديرات، لكنه لا يناسب النثر جيدًا. في <p>Read <b>this</b> first</p> يُجمع النص العادي في قيمة #text واحدة، وتصبح الكلمة العريضة مفتاحًا منفصلًا، لذلك يضيع ترتيب القراءة. من الأفضل معالجة XHTML وDocBook والصيغ المشابهة للمستندات باستخدام مكتبة XML. لفحص بنية المستند قبل تحويله، رتّبه باستخدام منسّق XML.
طريقة الاستخدام
- ألصق XML أو اختر ملفًا.
- اختر عرض المسافة البادئة.
- انسخ JSON أو نزّله.
الخصوصية والقيود
يُحوَّل النص في المتصفح ولا يُرفع مطلقًا، وهذا مهم عندما يكون الملف ملف إعدادات أو تصديرًا لا تفضّل تسليمه إلى شخص غريب. تُحافَظ على مساحات الأسماء حرفيًا في أسماء العناصر بدلًا من حلّها.
أدوات ذات صلة
الأسئلة الشائعة
لماذا تبدأ السمات بالرمز @؟
يفصل XML بين السمات والعناصر الفرعية، بينما لا يملك JSON هذا التمييز. تحافظ البادئة @ على الفصل بينها، بحيث يمكن عكس التحويل من دون تخمين.
لماذا أصبح أحد العناصر مصفوفة؟
تتحول أسماء العناصر الشقيقة المتكررة دائمًا إلى مصفوفة، لأن هذا هو معنى بنيتها. أما الاسم الذي يظهر مرة واحدة فيبقى قيمة عادية.
ما وظيفة #text؟
يحتاج العنصر الذي يحتوي على نص وعناصر فرعية معًا إلى مكان للنص غير المرتبط، وتوفّر #text هذا المكان.
ما الذي لا يدعمه المحول؟
لا يدعم تعريفات كيانات DTD، أو حلّ مساحات الأسماء، أو تعليمات المعالجة التي تتجاوز التصريح. لا تستخدمها ملفات الإعدادات وحمولات واجهات برمجة التطبيقات.
أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا