XML в JSON
Разбирайте любой XML-документ в JSON. Повторяющиеся соседние элементы становятся массивами, атрибуты и текстовые значения сохраняются, а некорректный XML
Разберите документ XML в JSON: повторяющиеся соседние элементы становятся массивами, атрибуты и текстовое содержимое сохраняются, а о некорректном XML сообщается с позицией проблемы ещё до начала конвертации.
Это полезно, когда API или экспорт отдаёт XML, а остальные ваши инструменты говорят на JSON: ответ SOAP, поток данных, экспорт конфигурации. Атрибуты сохраняются рядом с дочерними элементами, поэтому ничего не теряется, а структуру потом легко отобразить в вашу собственную схему.
Как конвертировать XML в JSON
Вставьте ваш XML
Сконвертируйте его и просмотрите структуру
Скопируйте или скачайте JSON
Частые вопросы
Как обрабатываются повторяющиеся элементы?
Соседние элементы с одинаковым именем тега становятся массивом независимо от их количества, поэтому список из одного элемента всё равно разбирается как список, а не как одиночный объект.
Что происходит с атрибутами?
Они сохраняются как свойства рядом с содержимым элемента, поэтому ничего не теряется. Измените имена на этапе отображения, если ваша схема ожидает отдельный объект атрибутов.
Можно сохранить исходный порядок элементов?
Объекты JSON по определению неупорядочены, поэтому порядок элементов не гарантируется. Если порядок семантически важен, держите исходный XML как эталон.
Почему мой XML был отклонён?
Частые причины — незакрытые теги, необъявленный префикс пространства имён или лишний текст перед объявлением XML. Сообщение об ошибке указывает на позицию, где разбор не удался.
Поддерживаются ли CDATA и пространства имён?
Секции CDATA читаются как текст, а префиксы пространств имён сохраняются как часть имён элементов — обычно именно это и нужно для точного отображения.
Мой XML куда-то загружается?
Нет, разбор происходит локально в вашем браузере.
Кратко
| Ввод | XML |
|---|---|
| Несколько файлов | Нет |
| Где работает | В вашем браузере — файлы никуда не загружаются |
| Работает офлайн | Да — после загрузки страницы |
| Цена | Бесплатно, без регистрации, без водяных знаков |
Как выбрать формат данных
JSON — выбор по умолчанию для всего, что возвращает API или читает программа: он естественно работает с вложенными структурами, числами, логическими значениями и null, и его разбирает любой язык. CSV компактнее и открывается прямо в таблице, но в нём нельзя выразить вложенность и нет общего стандарта для разделителя, кавычек и кодировки — именно здесь конвертации и ломаются. XML многословен, но несёт атрибуты, смешанное содержимое и схемы, поэтому до сих пор доминирует в форматах документов и устаревших интеграциях. YAML самый читаемый для конфигурации, но чувствителен к пробелам и удивляет приведением типов («no» превращается в false, версия вроде 1.10 — в 1.1). Выбирайте формат, который предпочитает потребляющий инструмент, а не тот, что выглядит красивее.
Где конвертации незаметно ломаются
Большинство ошибок конвертации — не про синтаксис, а про смысл. Столбец CSV с почтовыми индексами теряет ведущие нули в тот момент, когда таблица решает, что это число; длинный идентификатор выходит за пределы точности чисел с плавающей запятой; даты меняют смысл в зависимости от того, что идёт первым — день или месяц. Ключи JSON не упорядочены, а массивы упорядочены, и инструмент, сортирующий ключи, ничего не меняет, тогда как сортирующий массивы меняет данные. Unicode — ещё одна ловушка: текст может прийти в UTF-8, в UTF-16 или с BOM, и декодер, который угадает неверно, превращает буквы с диакритикой в «кракозябры». Прежде чем доверять любой конвертации, выборочно проверьте первую и последнюю строку, любое поле с ведущими нулями и любое поле, содержащее кавычки, запятые или переводы строк.