Конвертер XML ↔ JSON 🔒 Ваши данные не покидают браузер.

Конвертируйте XML в JSON и обратно прямо в браузере.

Атрибуты становятся ключами @ · повторяющиеся теги — массивами

Ctrl+SСкачать

Об этом инструменте

XML встречается в SOAP API, RSS/Atom-лентах, макетах Android и бесчисленных устаревших корпоративных системах, тогда как JSON — современный выбор по умолчанию. Этот конвертер соединяет их: атрибуты становятся ключами @name, текстовый узел рядом с атрибутами становится #text, а любой тег, повторяющийся под одним родителем, становится массивом JSON — та же конвенция, что используется в популярных библиотеках для конвертации XML в JSON, поэтому результат выглядит знакомо.

Конвертация выполняется через встроенный в браузер DOMParser — никакая XML-библиотека не загружается, и никакие данные никуда не отправляются. В обратном направлении ключи JSON, начинающиеся с @, становятся атрибутами, а массивы — повторяющимися соседними тегами, поэтому аккуратный обратный переход сохраняет вашу структуру.

Частые вопросы

Что на самом деле означают префикс @ и массивы в конвертированном JSON?

Атрибуты XML превращаются в ключи JSON с префиксом @ (так `<item id="1">` становится `{"@id": "1"}`), а любой тег, повторяющийся под одним родителем, становится массивом JSON вместо перезаписи — именно так `<item>Milk</item><item>Eggs</item>` превращается в `["Milk", "Eggs"]`.

Понимает ли этот инструмент пространства имён XML, секции CDATA, комментарии или инструкции обработки?

Только частично. Теги с пространством имён сохраняют исходный префикс (например, `ns:tag`), не разрешая URI пространства имён, содержимое CDATA читается как обычный текст, а комментарии и инструкции обработки полностью отбрасываются. Это прагматичный конвертер для типичных конфигурационных и файлов данных, а не полная реализация спецификации XML — избегайте его для XML, где корректность зависит от пространств имён или DTD.

Если я преобразую XML в JSON и обратно в XML, получу ли я точно такой же документ?

Очень близко, но не побайтово. Порядок и значения элементов и атрибутов передаются верно при обратном преобразовании, но исходные комментарии, обёртки CDATA, стиль самозакрывающихся тегов и точные пробелы между тегами не сохраняются — результат семантически эквивалентен, но не идентичная копия.

Загружаются ли мои XML или JSON куда-либо при использовании этого инструмента?

Нет. Разбор использует встроенный в браузер DOMParser и JSON.parse — оба работают полностью на вашем устройстве. Ничего из того, что вы вставляете или перетаскиваете сюда, не отправляется на сервер.

Как превратить массив JSON обратно в повторяющиеся теги XML?

Дайте родительскому объекту массива ключ, значением которого является массив JSON — например, `{"item": ["Milk", "Eggs"]}` — и переключение в режим JSON → XML создаст один элемент `<item>` на каждую запись массива. Используйте поле «Имя корневого элемента», если верхний уровень вашего JSON — это массив или содержит более одного ключа, поскольку XML требует единственный корневой тег.