onlinetools.dev

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

Перетворюйте документи XML на JSON і назад, разом з атрибутами

Працює локально
loading…
Про цей інструмент

Перетворюйте XML на JSON, щоб згодувати старі відповіді SOAP, стрічки RSS чи файли Maven POM у JavaScript, jq або API, що працює з JSON, — або йдіть у зворотний бік і виробляйте XML із даних JSON. Атрибути зберігаються: вони стають ключами «@_ім’я», а текстовий вміст, що співіснує з атрибутами, потрапляє під «#text», тож ніщо не зникає мовчки.

Ці два формати не погоджуються в основах, і цей конвертер робить стандартні прагматичні вибори: повторювані сусідні елементи згортаються в масив JSON, схожі на числа значення стають числами, а простори імен мандрують як частина назви елемента. Ланцюжок XML → JSON → XML зберігає структуру й вміст для типових документів.

Обидва напрямки виконуються локально у вашому браузері. Вставте стрічку з рахунками чи відповідь API — вона нікуди не піде.

Часті запитання

Чому деякі значення повертаються числами, а не рядками?
Парсер розпізнає числовий текст і перетворює його, чого й хоче більшість споживачів. Стережіться ідентифікаторів із провідними нулями (коди товарів, номери телефонів) — якщо це важливо для ваших даних, візьміть їх у лапки після перетворення або вважайте вивід відправною точкою.
Як обробляються повторювані елементи?
Два чи більше сусідів з однаковою назвою стають масивом JSON під цим ключем. Одне-єдине входження лишається звичайним об’єктом — ця асиметрія притаманна самому відображенню, тож код, що споживає JSON, має терпіти обидві форми або спершу нормалізувати.
Що означають ключі @_ і #text?
@_ позначає те, що було атрибутом XML, а #text несе текст елемента, коли поруч є ще й атрибути. Подання тієї самої домовленості назад у напрямку JSON → XML відтворює початкову розмітку.
Чому JSON → XML відхиляє мій масив верхнього рівня?
Документ XML мусить мати рівно один кореневий елемент, а голий масив не має жодного. Загорніть масив в об’єкт — {"items": {"item": [...]}} — і конвертер видасть правильно сформований документ.
Пов’язані інструменти