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

Превратите документы XML в чистый JSON.

Работает в браузере. То, что вы вводите, никуда не отправляется.

Как конвертировать XML в JSON

  1. Вставьте свой XML или загрузите файл.
  2. Оставьте или уберите атрибуты флажком.
  3. Скопируйте JSON или скачайте его.

Пример: XML на входе, JSON на выходе

XMLJSON
<name>Sam</name>{"name":"Sam"}
<item id="5">Widget</item>{"item":{"@_id":"5","#text":"Widget"}}
<tag>a</tag><tag>b</tag>{"tag":["a","b"]}

Что сохраняет XML в JSON

  • Атрибуты, при включённом флажке, как ключи, начинающиеся с @_.
  • Текстовое содержимое рядом с атрибутами под ключом #text, когда у элемента есть и то, и другое.
  • Повторяющиеся соседние теги как массив JSON, в порядке следования по документу.
  • Числа с ведущим нулём, вроде 007, сохранённые как текст, чтобы ID никогда не менялись.

Частые причины некорректного XML

  • Незакрытый или несовпадающий тег.
  • Одиночный & или < внутри текста, который нужно записать как &amp; или &lt;.
  • Два элемента на верхнем уровне, ведь корректный XML допускает только один корень.

Где помогает XML в JSON

  • Чтение ответа старого SOAP API внутри современного фронтенда на основе JSON.
  • Конвертация ленты RSS или Atom в JSON для перебора скриптом.
  • Просмотр конфигурационного файла, экспортированного из корпоративного софта, который понимает только XML.
  • Проверка того, что реально содержит экспорт устаревшей системы, перед написанием полноценного пайплайна импорта под него.

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

Что происходит с атрибутами XML?

Они сохраняются как поля, чьи имена начинаются с @_, поэтому id="5" становится "@_id": "5". Отключите "Включать атрибуты", чтобы их не было.

Как обрабатываются повторяющиеся элементы?

Соседние элементы с одинаковым именем тега становятся массивом JSON. Тег, который встречается только один раз, остаётся одиночным значением.

Числа конвертируются?

Обычные числа вроде 42 становятся числами JSON. Значения с ведущим нулём, например 007, остаются текстом, чтобы коды и ID не менялись.

Почему написано, что мой XML некорректный?

Обычно тег не закрыт, закрывающий тег не совпадает или текст содержит одиночный амперсанд, который нужно записать как &amp;. В ошибке названы строка и столбец.

Сохраняются ли пространства имён XML?

Префикс пространства имён остаётся частью имени тега, например ns:id становится ключом, буквально называющимся ns:id, ведь конвертер не разрешает URI пространств имён во что-либо ещё.

Что происходит с самозакрывающимся тегом вроде <br/>?

Он становится значением с пустой строкой, тем же результатом, что даёт более длинный вариант <br></br>.

Что происходит с комментариями XML?

Они отбрасываются. В JSON нет синтаксиса комментариев, куда их можно перенести, поэтому конвертируются только данные элементов.

Можно конвертировать XML-файл с DOCTYPE?

Да, DOCTYPE считывается, а затем не включается в вывод JSON, ведь он только управляет валидацией XML и не несёт собственных данных для переноса.

Похожие инструменты