tomai
Войти
Бесплатно · Инструменты разработчика

XML в JSON

Преобразовать XML-документы в чистый, предсказуемый JSON

Ввод XML
Вывод JSON

Что такое конвертер XML в JSON?

XML был стандартом данных 2000-х и остаётся в RSS-лентах, банковских API, SOAP-сервисах и старых конфигурационных файлах. Современные JavaScript, Python и Go читают JSON куда естественнее. Конвертер XML в JSON переводит документ в простые объекты по предсказуемой схеме: каждый элемент становится объектом, атрибуты получают префикс "@@", чтобы атрибут "id" никогда не сталкивался с дочерним элементом "id", текстовое содержимое живёт под "@text", а повторяющиеся соседние элементы сворачиваются в массивы.

Возможности

  • Разбирает вложенные элементы в JSON-объекты
  • Отделяет атрибуты (префикс @@) от текста (@text) и дочерних элементов
  • Группирует повторяющиеся соседние элементы в массивы автоматически
  • Обрабатывает CDATA, комментарии, объявления и самозакрывающиеся теги
  • Сообщает о несоответствующих или незакрытых тегах с ясной ошибкой
  • Форматирует JSON с читаемыми отступами

Когда использовать

  • Читать RSS/Atom-ленты или SOAP-подобные ответы
  • Мигрировать XML-конфигурацию в JSON-пайплайны
  • Проверить, что на самом деле возвращает старый XML API
  • Строить тестовые JSON-фикстуры из XML-данных

Конфиденциальность: разбор полностью происходит в вашем браузере — вставленное никогда не загружается.

Сопоставление, используемое этим конвертером

  • Атрибуты XML превращаются в ключи с префиксом @ (price currency="EUR"{"@currency":"EUR"}), чтобы они никогда не конфликтовали с дочерними элементами.
  • Элемент, содержащий одновременно текст и дочерние элементы, хранит свой текст под ключом #text; элемент, содержащий только текст, отображается как простая строка.
  • Повторяющиеся соседние элементы объединяются в массивы; декларация XML, комментарии и инструкции обработки игнорируются.

Атрибуты и текстовые узлы требуют единообразного подхода

Атрибуты и текст не смешиваются

Атрибуты становятся ключами с префиксом "@@id", а текст живёт под "@text", поэтому атрибут и элемент с одним именем никогда не перезаписывают друг друга.

🔒

Списки остаются списками

Повторяющиеся соседние элементы автоматически сворачиваются в массив JSON — каталог из пяти книг становится массивом из пяти объектов, а не одной перезаписанной книгой.

🎯

Терпим к реальному XML

CDATA, комментарии, DOCTYPE и самозакрывающиеся теги разбираются чисто, а действительно некорректный XML завершается описательным сообщением.

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

Как представляются атрибуты?

Атрибуты становятся ключами с префиксом "@@", например <book id="5"> превращается в {"@@id":"5"}. Это исключает классическую коллизию между атрибутом "id" и дочерним элементом с тем же именем.

Что происходит с повторяющимися элементами?

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

Загружается ли мой XML куда-либо?

Нет. Всё работает в вашем браузере на чистом JavaScript — ничего не передаётся и не сохраняется.

Куда пропал мой атрибут в JSON-выводе?

Ищите ключ, начинающийся с символа @, в том же объекте, что и его элемент. Если вы видите только #text, это означает, что у элемента были атрибуты И содержимое; если вы ожидали атрибут, но не находите его, он находится в родительском узле — раскройте дерево на один уровень выше.

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

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