ממיר חינם

XML ל ממיר JSON

המר נתוני XML או קבצים לפורמט JSON באופן מיידי בדפדפן שלך. תומך בהזחה מותאמת אישית ומטפל במבנים מקוננים.

בחר קובץ XML

או גרור ושחרר כאן

אוֹ

אודות כלי זה

XML ו-JSON שניהם פורמטים להחלפת נתונים אך מגיעים מתקופות שונות של האינטרנט. XML, שתוקנן בשנת 1998, תוכנן כפורמט סימון המתאר את עצמו עם תכונות, מרחבי שמות ואימות סכימה. JSON הופיע בתחילת שנות ה-2000 כפורמט קל משקל יותר המתאים יותר לזמני ריצה של JavaScript וממשקי API מודרניים. רוב ממשקי ה-API החדשים באינטרנט מדברים JSON; מערכות ישנות רבות - שירותי SOAP, הזנות RSS, קבצי תצורה, אינטגרציות ארגוניות - עדיין מייצרות XML. המרה ביניהם היא אחת ממשימות האינטררופ הנפוצות ביותר בפיתוח מודרני.

ההמרה אינה נטולת אובדן לחלוטין מכיוון שלשני הפורמטים יש כוח הבעה שונה. ל-XML יש תכונות (שאין ל-JSON באופן מקורי), מבחין בין תוכן טקסט ושמות אלמנטים ותומך בתוכן מעורב (אלמנטים המכילים טקסט ואלמנטים צאצאים כאחד). מודל האובייקט/מערך הפשוט של JSON אינו יכול לייצג ישירות את התכונות הללו, ולכן ממירים מיישמים מוסכמות: תכונות הופכות למפתחות עם קידומת @, תוכן טקסט הופך למפתח #טקסט וכן הלאה.

ממיר זה מנתח את ה-XML באמצעות DOMParser המובנה בדפדפן ועובר על עץ ה-DOM שנוצר כדי לייצר JSON. אלמנטים בעלי שם תג זהה לזה של אחים נאספים למערכים; תכונות נכנסות למפתחות מיוחדים; מרחבי שמות והוראות עיבוד נשמרים כאשר הם קיימים. התוצאה היא JSON קריא לאדם שחוזר חזרה ל-XML באופן סביר.

למה להמיר XML ל-JSON

רוב קוד היישומים המודרני נוח יותר עם JSON. JavaScript מנתח את JSON באופן מקורי, מודול ה-json של Python נמצא בספרייה הסטנדרטית, ולמעשה לכל שפה אחרת יש תמיכה מקבילה ב-JSON ממדרגה ראשונה. עיבוד XML מצריך ייבוא ​​ספריות נוספות וכתיבת לוח נוסף. המרת XML נכנסת ל-JSON לפני עיבוד היא לרוב הנתיב המהיר ביותר מהזנת XML חיצונית למבנה נתונים פנימי.

Tooling גם נוטה ל-JSON. מיפיפי JSON, מאמתים, מאמתים של סכמות, שפות שאילתות (jq, JSONPath) וצופים יש בשפע; המקבילות ל-XML הן פחותות ולעתים קרובות ישנות יותר. עבודה ב-JSON פותחת מערכת אקולוגית עשירה יותר של כלים.

כיצד להשתמש

הדבק XML, קבל JSON.

  1. הדבק או העלה את ה-XML שלך: הדבק טקסט XML באזור הקלט או שחרר קובץ. ה-XML חייב להיות מעוצב היטב; XML פגום מייצר שגיאת ניתוח ולא ניחוש.
  2. המרה: DOMParser בונה DOM, הממיר עובר על כל אלמנט, ו-JSON נוצר באמצעות מפתחות תכונות (@attr) ומפתחות תוכן טקסט (#text) במידת הצורך. אלמנטים אחים בעלי שם זהה הופכים למערכים.
  3. סקור את המבנה: בדוק את ה-JSON כדי לוודא שהתכונות, הטקסט והקינון ממופים כצפוי. המוסכמות המשמשות (למשל, @ עבור תכונות) גלויות בפלט.
  4. הורד או העתק: שמור בתור json או העתק ללוח.

מקרי שימוש נפוצים

פרטים טכניים

DOMParser מייצר DOM של XML זהה למה שהדפדפן משתמש עבור דפי XHTML. הממיר הולך על DOM זה באופן רקורסיבי. עבור כל אלמנט הוא יוצר אובייקט JSON: תכונות הופכות למפתחות עם קידומת @ (למשל, @id, @class); רכיבי הצאצא של האלמנט חוזרים לאותו מבנה; תוכן טקסט, כשהוא קיים לצד ילדים, חי תחת מפתח #טקסט.

רכיבי צאצא חוזרים עם אותו שם תג נאספים לתוך מערך JSON. צאצא בודד בשם פרטי מופיע כערך אובייקט; ילדים מרובים מופיעים כמערך של אובייקטים. מוסכמה זו פועלת היטב בפועל, אך פירושה שצורת ה-JSON תלויה בשאלה אם אלמנטים מופיעים פעם אחת או מספר פעמים - חוסר שלמות ידוע של מיפוי XML-to-JSON.

מרחבי השמות נשמרים כחלק משמות האלמנטים (תחילית:שם מקומי). הוראות עיבוד וקטעי CDATA מומרים לתוכן טקסט. הצהרות XML ו-DOCTYPE נמחקים מפלט JSON אך אינם משפיעים על הנתונים.

שיטות עבודה מומלצות

שאלות נפוצות

האם המרת XML ל-JSON משנה את התוכן?
התוכן נשמר בצורה מדויקת ככל האפשר. עם זאת, ייתכן שלחלק מהתכונות הספציפיות לפורמט אין מקבילות ישירות, כך שעשויים להתרחש הבדלי עיצוב קלים.
למה להמיר נתונים לפורמט JSON?
JSON הוא פורמט הנתונים הסטנדרטי עבור ממשקי API ו-JavaScript. זה קריא אנושי, נתמך באופן נרחב על ידי שפות תכנות, ויש לו תחביר פשוט יותר מאשר XML.
האם הממיר מטפל במבני XML מקוננים או מורכבים?
כן. הכלי מנתח בצורה נכונה אובייקטים מקוננים, מערכים וכל סוגי נתוני XML סטנדרטיים, תוך שמירה על מבנה הנתונים המלא בפלט JSON.
האם המרה זו מאובטחת ופרטית?
כן. כל העיבוד מתרחש באופן מקומי בדפדפן שלך. הנתונים שלך לעולם לא עוזבים את המכשיר שלך - אין העלאת שרת, אין עיבוד ענן, אין איסוף נתונים.
האם מקטעי CDATA מטופלים?
כן. תוכן CDATA מומר לטקסט רגיל בפלט JSON. עטיפת CDATA עצמה אינה נשמרת, אבל התוכן כן.
האם הנתונים שלי מועלים לשרת?
לא. DOMParser פועל בדפדפן שלך; ההמרה מתרחשת כולה במכשיר שלך.
האם ה-JSON יחזור ל-XML?
כן אם אתה משתמש במוסכמה ההפוכה (כלי JSON ל-XML עוקב אחר אותם כללי @attr ו-#text). הנסיעה הלוך ושוב משמרת מבנה עבור XML טיפוסי; ייתכן שחלק ממקרי הקצה (סדר תוכן מעורב, הוראות עיבוד) לא ישרדו בצורה מושלמת.
מהו גודל הקלט המקסימלי?
עד 50 מגה-בייט. DOMParser מוגבל בזיכרון על ידי הדפדפן שלך; קובצי XML גדולים מאוד עשויים להאט או להיכשל בניתוח.