تحويل JSON إلى XML — الكائنات والمصفوفات
تحويل JSON إلى XML مع جذر مخصص وقواعد واضحة للمصفوفات
تعمل في متصفحك · لا يُرفع أي شيء
تصبح مفاتيح الكائنات أسماء عناصر، وكل عنصر في المصفوفة يصبح عنصر item. القيم null والكائنات الفارغة والمصفوفات الفارغة كلها تصبح عناصر فارغة، فلا يمكن استعادة الأنواع الأصلية. تُرفض أسماء العناصر غير الصالحة.
طريقة الاستخدام
- الصق JSON صالحًا.
- اختر اسم العنصر الجذر، أو أبقِ الاسم root.
- تحقق من طريقة تمثيل المصفوفات والقيم الفارغة.
- انسخ نص XML الناتج.
قواعد التحويل
تصبح مفاتيح الكائنات أسماء عناصر XML. ويصبح كل عنصر في المصفوفة عنصرًا فرعيًا باسم item مع الحفاظ على ترتيبه. وتُهرَّب علامة & وأقواس الزاوية وعلامات التنصيص إلى كيانات XML. وتُكتب أحرف الرجوع إلى أول السطر (CR) داخل النصوص كمراجع أحرف. وتبقى القيم العربية والصينية والرموز التعبيرية نص Unicode.
تصبح القيم null والكائنات الفارغة والمصفوفات الفارغة كلها عناصر فارغة. ولا تحمل القيم البسيطة سمات للنوع، لذا لا يمكن لهذا الإخراج وحده استعادة أنواع JSON الأصلية. ويجب أن تبدأ الأسماء بحرف مدعوم أو شرطة سفلية، وبادئات مساحات الأسماء التي تحتوي على نقطتين غير مدعومة. وتُرفض أحرف التحكم غير المسموح بها في XML 1.0 ووحدات الترميز البديلة المنفردة.
أمثلة
{"name":"سارة","tags":["中文","😀"]} ينشئ عنصر name وعنصر tags يحتوي على عنصرين فرعيين من نوع item. و{"message":"A & B"} تُهرَّب فيه علامة &. و{"empty":null} ينشئ عنصرًا فارغًا.
الدقة والحدود
تُرفض المفاتيح المكررة والأعداد الصحيحة غير الآمنة والأعداد العشرية ذات الدقة الزائدة والأعداد التي تتجاوز الحد بدلًا من تغيير القيم بصمت. ضع المعرّفات الدقيقة والكميات العشرية بين علامتي تنصيص كنصوص JSON. الحد الأقصى للإدخال مليون حرف و64 مستوى من التداخل. هذا تحويل عام للعناصر، ولا يطبّق مخطط XML خاصًا بجهة معينة. وتبقى المعالجة كلها في متصفحك.
الأسئلة الشائعة
كيف تُمثَّل المصفوفات؟
تصبح كل قيمة في المصفوفة عنصر item داخل العنصر المحيط بها، ويُحفظ ترتيب المصفوفة.
هل يحافظ التحويل على كل أنواع JSON؟
لا. تتشارك الأعداد والنصوص التمثيل النصي نفسه، وتصبح القيم null والكائنات الفارغة والمصفوفات الفارغة عناصر فارغة. احتفظ بملف JSON الأصلي إذا كانت الدقة عند التحويل ذهابًا وإيابًا مهمة.
لماذا رُفض اسم خاصية؟
يجب أن تكون مفاتيح الكائنات أسماء عناصر XML مدعومة. تُرفض المسافات والنقطتان والرموز التعبيرية والأرقام في البداية. أما الحروف العربية والصينية والكورية فمدعومة.
هل تُرسل البيانات إلى خادم؟
لا. تجري المعالجة كلها في متصفحك.