Инструменты JSON

XML в JSONвыберите структуру без скрытой потери порядка

Сравните пример повторяющихся элементов с примером текста, внутри которого есть теги.

XML в JSON

JSON в XML

Ввод XML

Результат JSON

Обработка в браузере. Входные данные не отправляются и не сохраняются.

Параметры вывода

Атрибуты и квалифицированные имена сохраняются. Значения остаются строками.

Результат устарел; экспорт недоступен.

XML в JSON нужен, когда ответ сервиса требуется передать скрипту или API, принимающему объекты. Однако имя тега не объясняет, является ли 001 числом или кодом и должен ли единственный дочерний элемент стать массивом.

Этот конвертер позволяет конвертировать XML в JSON с явным выбором модели: компактные объекты для записей либо упорядоченное содержимое для документов. Получатель должен понимать выбранную структуру.

Зачем проверять XML в JSON здесь

Массив остаётся массивом даже для одного узла

XML в JSON объединяет соседние одноимённые дочерние элементы в массив. Отдельная настройка делает массивом и единственного ребёнка. Внешнее свойство с именем корня не получает дополнительную оболочку массива.

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

Текст остаётся на своём месте

Компактная модель отклоняет смешанный текст и последовательности a,b,a. Упорядоченная модель помещает текст и элементы в общий массив content, сохраняя их позиции вместо незаметной перегруппировки по именам.

Текст, элемент и следующий текст сохраняют порядок внутри списка содержимого.

Что выбрать перед выгрузкой

01

Сравните пример смешанного содержимого

Начальный пример подходит для компактных объектов. Смешанный пример останавливается с ошибкой в этом режиме; выберите упорядоченное содержимое и проверьте последовательность узлов content и требования получателя.

02

Определите значение пробелов

Текст листовых элементов не обрезается. По умолчанию пропускаются лишь пробелы оформления между элементами. xml:space="preserve" наследуется и имеет приоритет; сохранение всех пробелов может потребовать упорядоченной модели.

03

Объедините несколько правок

Автопреобразование ждёт 350 мс. Отключите его для запуска кнопкой или Ctrl/Cmd+Enter. Любое изменение ввода или настроек сразу запрещает выгрузку устаревшего результата до успешного повторного преобразования.

Явное представление частей документа

Атрибуты и квалифицированные имена

В компактной модели @id обозначает атрибут, а #text — текст листа с атрибутами. Префиксы и объявления xmlns сохраняются. Упорядоченные элементы дополнительно содержат разрешённый namespaceURI.

Содержимое с типами узлов

В массивах content различаются элементы, текст, CDATA, комментарии и инструкции обработки. XML-декларация записывается отдельно. Компактная модель объединяет значения CDATA с текстом, но отклоняет комментарии и инструкции.

Строки без угадывания типов

001, 12.00, true и большие целые остаются строками. Пустой элемент становится пустой строкой в компактном режиме. Без схемы невозможно надёжно назначить числа, логические значения или null, поэтому типы не выводятся автоматически.

Границы преобразования

Строгий XML 1.0 с одним корнем
Нужен правильно сформированный документ. Любой DOCTYPE отклоняется, включая внутренние объявления сущностей. Внешние сущности, XInclude и адреса схем не загружаются и не раскрываются. Некорректные теги и атрибуты не исправляются. В декларации кодировки допускаются только UTF-8 и UTF8.
Компактная модель не выражает любой порядок
Смешанный текст, чередующиеся повторения, комментарии и инструкции останавливают компактное преобразование, в том числе вне корня. Для сохранения пробелов до и после корня также нужна упорядоченная модель.
Исходные байты не восстанавливаются
XML нормализует переводы строк и пробелы атрибутов и раскрывает ссылки на символы. Компактная модель не сохраняет декларацию и границы CDATA. Префиксы не удаляются; проверки XSD и гарантии точного обратного преобразования нет.
Один ограниченный текстовый документ
Пределы: 500 000 символов ввода, глубина 100, 50 000 узлов и атрибутов, 2 000 000 символов вывода. Нет импорта файлов, URL, пакетной обработки и истории. Обратная ссылка открывает другой инструмент без передачи данных.

Вопросы о XML в JSON

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

В компактных объектах имена атрибутов начинаются с @. Это отличает @id от дочернего элемента id и предотвращает перезапись. В упорядоченной модели квалифицированные имена и значения находятся в attributes.

Почему одинаковые теги образуют массив?

XML в JSON объединяет соседние одноимённые дочерние элементы в массивы. Настройка постоянных массивов распространяет это на единственного ребёнка. Чередование a,b,a отклоняется компактной моделью и требует упорядоченной.

Где находится текст элемента с атрибутами?

Текст листового элемента с атрибутами записывается в #text. Если атрибутов нет, лист сразу становится строкой. Текст вперемешку с дочерними элементами не объединяется в это поле: используйте упорядоченную модель.

Поддерживается ли CDATA?

Да. Компактная модель присоединяет значение CDATA к обычному тексту. Упорядоченная сохраняет отдельный узел типа cdata. Разделители CDATA и текстовые значения — разные уровни представления, точная исходная запись не гарантируется.

Остаются ли числа строками?

Этот конвертер XML в JSON онлайн сохраняет числа как строки, включая ведущие нули и десятичные разряды. Он не знает, является ли значение кодом или суммой. Приведение к типу следует делать с учётом схемы получателя.

Остался вопрос?

Проверьте следующий ответ сервиса

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