Перейти до вмісту

Конвертувати XML у JSON

Перетворіть документ XML на JSON: атрибути стають @ключами, повторювані елементи — масивами, а числа отримують числовий тип. Документ розбирає вбудований парсер XML вашого браузера просто на вашому пристрої.

Конвертувати в
Перетягніть файл XMLXML до 100 MB · JSON, CSV, XLSX, XLS, ODS до 500 MB
Вибрати файлОбробка на вашому пристрої — без надсилання на сервер
Працює у браузері · без надсилання на серверЯк це працює

Як користуватися: XML у JSON

  1. 1

    Вставте або перетягніть XML

    Файл .xml, стрічка RSS чи Atom, відповідь SOAP або будь-який текст XML; кодування з його декларації враховується.

  2. 2

    Налаштуйте вигляд JSON

    Атрибути як @-ключі, звичайні ключі або без них; масиви лише для елементів, що повторюються, або всюди; числа з типами чи як текст.

  3. 3

    Скопіюйте JSON

    З відступами або компактно — скопіюйте в буфер обміну чи завантажте файл .json.

Ліміти та Pro

Файли XML до 100 MB, вставлений XML будь-якого розміру, який здатен вмістити ваш браузер.

Про інструмент: XML у JSON

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

Атрибути потребують рішення, бо в JSON їх немає. За замовчуванням вони записуються як ключі з префіксом @: <price currency="UZS">125000</price> стає {"@currency": "UZS", "#text": 125000}. Так атрибути й дочірні елементи не змішуються, а JSON можна перетворити назад на той самий XML. Звичайні ключі дають коротші обʼєкти, а пропуск атрибутів підійде для документів, де вони потрібні лише для службових цілей.

Значення: якщо розпізнавання типів увімкнено, 42 і 3.5 стають числами JSON, а true/false — булевими значеннями. Проте все, що зміниться після читання як число, лишається рядком: поштові індекси й номери рахунків із початковими нулями, числа довші за 15 цифр. Порожні елементи стають порожніми рядками.

Простори імен зберігаються як є (dc:title), або префікси можна прибрати для чистіших ключів — тоді зникнуть і оголошення xmlns. Параметр «Завжди використовувати масиви» надає всім дочірнім елементам однакову форму масиву, що зручно, коли в одних записів один автор, а в інших три.

Не переноситься: коментарі, інструкції обробки та DOCTYPE; текст, змішаний із рядковими тегами, як в абзацах XHTML, обʼєднується в один рядок.

Приватність

XML обробляється у фоновому процесі цієї сторінки без жодних мережевих запитів; DTD і зовнішні сутності не завантажуються, а документ ніколи не залишає ваш пристрій.

XML у JSON: поширені запитання

Що означає #text у JSON?
Коли елемент має атрибути або дочірні елементи і водночас власний текст, для тексту потрібен окремий ключ; #text — поширена домовленість. <title lang="en">Guide</title> стає {"@lang": "en", "#text": "Guide"}. Елемент лише з текстом натомість стає простим значенням, тож <title>Guide</title> — це просто "title": "Guide".
Числа перетворюються чи лишаються рядками?
Коли ввімкнено «Розпізнавати числа та true/false», значення, що явно є числами чи булевими, отримують типи JSON. Значення з початковими нулями, як-от 007 або поштовий індекс, і числа з понад 15 цифрами лишаються рядками, бо перетворення змінило б їх. Вимкніть розпізнавання, щоб зберегти кожне значення точно як текст.
Як обробляються простори імен, як-от soap: або dc:?
За замовчуванням префікси лишаються частиною ключа: dc:title стає ключем "dc:title", а оголошення xmlns зʼявляються як атрибути @xmlns. Увімкніть «Прибрати префікси просторів імен», щоб отримати title і прибрати оголошення. Тоді два різні простори імен з однаковою локальною назвою матимуть спільний ключ, тож у таких випадках залишайте префікси.
Чи можна потім перетворити JSON назад на XML?
Так. Перемкніть напрям на XML на сторінці «JSON у XML»: ключі з @ стають атрибутами, #text — текстом елемента, а масиви — елементами, що повторюються. Порядок елементів усередині батьківського може змінитися, якщо різні дочірні назви чергувалися, а коментарі зникнуть, але самі дані збережуться після перетворення туди й назад.
Чому замість JSON зʼявляється помилка?
XML має неправильну структуру, а повідомлення показує рядок і стовпець першої проблеми. Часті причини: символ &, який має бути &amp;, тег, закритий у неправильному порядку, значення атрибута без лапок або HTML-сутності на кшталт &nbsp;, яких XML не визначає. Виправте це місце й вставте знову.

Інші завдання з цим інструментом