JSON ל ממיר XML
המר JSON ל-XML באופן מיידי. תומך בתגי שורש מותאמים אישית והזחה עבור פלט נקי ומובנה.
המר JSON ל-XML באופן מיידי. תומך בתגי שורש מותאמים אישית והזחה עבור פלט נקי ומובנה.
המרת JSON ל-XML היא הפוך לכיוון ה-XML-ל-JSON הנפוץ יותר. ההמרה היא פשוטה ברוחה - הפוך כל אובייקט JSON לאלמנט XML, כל מפתח לתג ילד, כל ערך לטקסט של האלמנט - אבל XML כופה כללים מבניים שאין ל-JSON. מפתחות עם תווים מיוחדים אינם יכולים להפוך לשמות אלמנטים; מערכים זקוקים לייצוג עקבי; ערכים שהם אובייקטים צריכים מבנה מקונן משלהם.
ממיר זה משתמש בקונבנציה קרובה לכלי ה-XML-ל-JSON שרובם עוקבים אחריהם: מפתחות עם קידומת @ הופכים לתכונות ברכיב האב; מפתח בשם #text מספק את תוכן הטקסט של האלמנט; מערכים מייצרים אלמנטים חוזרים ונשנים בעלי אותו שם. מעקב אחר מוסכמה זו שומר על עקביות הלוך ושוב אם הפקתם את ה-JSON במקור מ-XML.
פלט XML נוצר היטב על ידי בנייה: כל רכיב נסגר כהלכה, ערכי מאפיינים מורחקים במירכאות, ותוכן טקסט עובר בריחה עבור תווים מיוחדים של XML (&, <, >). התוצאה נפתחת בצורה נקייה בכל מנתח XML, מאמת או כלי שצורך XML.
מערכות מבוססות רבות עדיין מצפות ל-XML גם כאשר הקלט שלהן מגיע מצינורות מודרניים לייצור JSON. שירותי SOAP, אינטגרציות ארגוניות, מפרסמי RSS, הגשת נתונים ממשלתיים וזנב ארוך של תוכנות מדור קודם מקבלים XML ודוחים JSON. ההמרה מגשרת בין יצרנים מודרניים לצרכנים מדור קודם.
XML תומך גם בתכונות שאין ל-JSON באופן מקורי - מרחבי שמות, סכימות (XSD), הוראות עיבוד ומסורת חזקה של אימות פורמלי. עבור מערכות שבהן תכונות אלו חשובות (חתימות XML, חילופי נתונים מאומתים רשמית, אילוצי סכימה מורכבים), יצירת פלט XML נותרה הבחירה הנכונה.
הדבק JSON, קבל XML.
הממיר מעביר את ערך ה-JSON באופן רקורסיבי. חפצים הופכים לאלמנטים; עבור כל מפתח באובייקט, קידומת @ פירושה שהמפתח מומר לתכונה באלמנט האב, # text מספק את תוכן הטקסט של האלמנט, ומפתחות רגילים הופכים לרכיבי צאצא עם הערך חוזר לאותה המרה.
מערכים מומרים לאלמנטים אחים חוזרים. מערך מתחת לפריטי מפתח ב-JSON מייצר אלמנט <items> אחד לכל פריט מערך באב. זה תואם את האופן שבו ממירי XML ל-JSON מייצגים אוספים מרובי אלמנטים.
שמות אלמנטים שיהיו לא חוקיים ב-XML (המכילים רווחים, תווים מיוחדים או מתחילים בספרות) עוברים חיטוי: רווחים הופכים לקווים תחתונים, תווים לא חוקיים נמחקים ושמות מובילים ספרות מקבלים קידומת. ערכי תכונה וטקסט עוברים ב-XML (& הופך ל-&, < הופך ל-< וכו') כדי לשמור על צורת הפלט בצורה נכונה.