Конвертер XML ↔ JSON
Конвертируйте XML-документы в JSON и обратно, включая атрибуты
Об этом инструменте
Конвертируйте XML в JSON, чтобы скормить старые SOAP-ответы, RSS-ленты или Maven POM в JavaScript, jq или JSON-ориентированный API — или идите в обратную сторону и получайте XML из JSON-данных. Атрибуты сохраняются: они становятся ключами "@_name", а текст, соседствующий с атрибутами, попадает в "#text", так что никакая информация молча не пропадает.
Два формата расходятся в фундаментальных вещах, и этот конвертер делает стандартный прагматичный выбор: повторяющиеся соседние элементы сворачиваются в JSON-массив, значения, похожие на числа, становятся числами, а пространства имён путешествуют как часть имени элемента. Круговая конвертация XML → JSON → XML сохраняет структуру и содержимое для типичных документов.
Оба направления работают локально в вашем браузере. Вставляйте ленту счетов или ответ API — они никуда не уйдут.
Частые вопросы
- Почему некоторые значения возвращаются числами, а не строками?
- Парсер распознаёт числовой текст и конвертирует его — обычно именно это и нужно потребителю. Остерегайтесь идентификаторов с ведущими нулями (коды товаров, номера телефонов) — если для ваших данных это важно, заключите их в кавычки после конвертации или считайте вывод отправной точкой.
- Как обрабатываются повторяющиеся элементы?
- Два и более соседних элемента с одним именем становятся JSON-массивом под этим ключом. Единственное вхождение остаётся обычным объектом — эта асимметрия присуща самому отображению, поэтому код, потребляющий JSON, должен принимать обе формы либо сначала нормализовать.
- Что означают ключи @_ и #text?
- @_ помечает то, что было XML-атрибутом; #text несёт текст элемента, когда при нём есть и атрибуты. Подача той же конвенции обратно в направление JSON → XML восстанавливает исходную разметку.
- Почему JSON → XML отвергает мой массив верхнего уровня?
- У XML-документа должен быть ровно один корневой элемент, а у голого массива его нет. Оберните массив в объект — {"items": {"item": [...]}} — и конвертер выдаст корректный документ.