Руководство

Как преобразовать XML в JSON с сохранением атрибутов и структуры

Вставьте корректный XML-текст, при необходимости настройте отступы и списки для выбранных элементов, затем запустите преобразование. На выходе появится JSON-текст с атрибутами и структурой XML, а повторяющиеся дочерние элементы будут представлены списками.

Инструмент Конвертер XML в JSON

Что сохраняется при преобразовании XML

XML часто содержит не только текст узлов, но и атрибуты, вложенность и повторяющиеся элементы. Преобразование в JSON удобно, когда такие данные нужно передать в приложение, подготовить к анализу или использовать в системе, которая принимает JSON-текст. Инструмент переводит XML в JSON, сохраняя атрибуты и структуру исходных данных. Повторяющиеся дочерние элементы представлены списками, поэтому их можно обрабатывать как набор значений, а не как перезаписанные узлы.

Перед началом подготовьте именно XML-текст без пояснений вокруг документа. Проверьте согласованность открывающих и закрывающих тегов, правильность вложенности и расположение атрибутов внутри открывающих тегов. Такой предварительный просмотр помогает отличить ошибку исходного документа от особенности представления результата. Если структура уже используется для обмена между системами, сохраните исходный текст отдельно, чтобы затем сравнить уровни, атрибуты и повторяющиеся блоки с полученными данными.

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

Порядок преобразования XML в JSON

  1. Подготовьте содержательный XML-документ. Вставьте его в поле ввода и убедитесь, что корневой элемент закрыт, вложенные узлы расположены правильно, а значения атрибутов заключены в кавычки. Пустой или состоящий только из пробелов ввод тоже обрабатывается успешно, но результатом будет пустое представление JSON, а не данные документа.

  2. Настройте форматирование. При необходимости укажите числовое количество пробелов для отступов JSON. Если значение не задано, применяется отступ в два пробела. Затем передайте в настройку списков имена элементов через запятую, если их нужно представить списками независимо от того, сколько раз они встретились в конкретном фрагменте.

  3. Запустите преобразование. Инструмент разберёт XML и сформирует текст в формате JSON. Атрибуты исходных элементов попадут в полученные данные, вложенная структура сохранится, а повторяющиеся дочерние элементы будут представлены списками. Так результат остаётся пригодным для последующей проверки и передачи в систему, ожидающую JSON.

  4. Сопоставьте результат с исходником. Проверьте корневой элемент, уровни вложенности, атрибуты и повторяющиеся группы. Если преобразование завершилось неуспешно, сначала проверьте синтаксис XML: незакрытый тег или нарушенная вложенность не позволяют получить успешный результат. При исправном синтаксисе отдельно учитывайте ситуацию, когда разобранные данные нельзя сериализовать в JSON, и проверьте значения, вызвавшие такую проблему.

Как оценить полученный JSON

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

Форма элемента, встретившегося один раз, может отличаться от формы повторяющегося элемента. Если принимающая система должна получать список даже для одиночного узла, заранее перечислите его имя в настройке принудительных списков. Отступ в два пробела по умолчанию или другое указанное числовое значение меняет внешний вид JSON-текста, но не добавляет сведения к исходным данным.

Пустой результат после пустого ввода не свидетельствует о преобразовании содержательного документа. Неуспешное выполнение также требует отдельной проверки: исправьте XML-синтаксис, а затем убедитесь, что разобранное содержимое допускает сериализацию в JSON. Инструмент выполняет направление XML в JSON; обратное преобразование из JSON в XML этим описанием не подтверждается.

Практический пример

Вы переносите небольшой каталог из XML в систему, которая принимает JSON, и хотите сохранить идентификатор каталога вместе с несколькими повторяющимися записями.

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

Появляется JSON-текст с объектом верхнего уровня: атрибут исходного элемента представлен в данных, а две повторяющиеся записи объединены в один список внутри соответствующего узла.

Ограничения

  • Некорректный XML или невозможность сериализовать разобранные данные в JSON приводят к неуспешному результату; направление JSON в XML не предусмотрено описанными возможностями.

Частые ошибки

  • Причина: в исходнике не совпали теги или нарушилась вложенность. Исправьте пары открывающих и закрывающих тегов, затем повторите преобразование.

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

Сохраняются ли атрибуты XML при преобразовании в JSON?

При корректном XML атрибуты попадут в представление JSON, а повторяющиеся дочерние элементы будут оформлены списками. Ошибка синтаксиса XML приводит к неуспешному преобразованию, поэтому перед запуском проверьте пары тегов и вложенность.

Можно ли настроить отступы в JSON?

Да, укажите числовое количество пробелов для форматирования. Когда параметр не задан, JSON-текст оформляется с отступом в два пробела, что влияет на чтение результата, а не на его данные самостоятельно.

Что произойдёт при пустом вводе?

Пустая строка или ввод из одних пробелов обрабатывается успешно и даёт пустое представление JSON. Для содержательного результата вставьте документ с XML-данными, а не оставляйте поле без текста или с пробелами.

Инструмент

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