Перейти до вмісту
TextArray
100% локально

Конвертер XML в JSON

Перетворіть XML на еквівалентний JSON із префіксом атрибутів і повторюваними тегами у вигляді масивів.

Введення
Вихід

Конвертер XML в JSON

І XML, і JSON описують структуровані дані, але інструменти навколо вас рідко говорять обома. Старий SOAP API, RSS-канал, макет Android, конфігураційний файл або експорт даних надають вам XML; ваш сценарій, ваша база даних або ваш інтерфейс потребують JSON. Цей інструмент конвертує між ними за допомогою справжнього синтаксичного аналізатора, а не злому регулярних виразів, який правильно обробляє незручні частини XML: вкладені елементи, атрибути, змішаний вміст, теги, що самозакриваються, коментарі, розділи CDATA, оголошення XML і DOCTYPE.

Відображення відповідає широко використовуваній угоді. Атрибути елемента стають ключами з префіксом @ (можна налаштувати), тому <user id="7"> дає "@id": "7". Дочірні елементи вкладаються як об'єкти; коли тег повторюється — три елементи <item> поспіль — вони згортаються в єдиний масив, що є саме тим, що вам потрібно для списків. Елемент, який містить лише текст, стає простим рядком; той, який містить як текст, так і атрибути, зберігає свій текст під ключем #text. Такі сутності, як &, і числові посилання, такі як A, декодуються, а вміст CDATA сприймається буквально.

Оскільки це справжній синтаксичний аналізатор з рекурсивним спуском, він перевіряє під час читання: невідповідний закриваючий тег, незавершений коментар або випадковий вміст після того, як кореневий код створює явну помилку з номером рядка, а не мовчки спотворює вихід. Виберіть відступ із двома або чотирма пробілами для читабельного результату або зменшіть до одного рядка для вбудовування.

Усе працює локально у вашому браузері — ваші дані ніколи не залишають ваш пристрій, що важливо для експорту XML, який часто містить записи та ідентифікатори.

FAQ

Як атрибути XML представлені в JSON?
Як ключі з префіксом @ за замовчуванням (ви можете змінити префікс). Тому <book lang="en"> стає { "book": { "@lang": "en" } }. Це конвенція, яку використовують такі бібліотеки, як xml-js і badgerfish, тому вихідні дані потрапляють у більшість інструментальних ланцюжків.
Що відбувається з повторюваними тегами?
Вони стають масивом. Три дочірніх елемента <item> згортаються до "item": [ … ], що потрібно списку. Тег, який з’являється один раз, залишається єдиним значенням — зауважте, це означає документ з одним елементом, а інший — з декількома картами різних форм, що властиво XML→JSON.
Чи підтримує він змішаний вміст і CDATA?
так Елемент з текстом і дочірніми елементами (або атрибутами) зберігає свій текст під ключем #text. Розділи CDATA сприймаються буквально, тому їхня розмітка <raw> і символи & залишаються без аналізу. Коментарі та інструкції з обробки пропускаються.
Чому він повідомив про помилку замість конвертації?
Це перевіряючий аналізатор: невідповідний закриваючий тег, атрибут без лапок, незавершений коментар або вміст після кореневого елемента – усе це зупиняє перетворення повідомленням із номером рядка. Це навмисно — неправильне, але тихе перетворення гірше, ніж явна помилка.
Чи завантажено кудись мій XML?
Ні. Розбір і перетворення повністю виконуються у вашому браузері, і ваші дані ніколи не залишають ваш пристрій.