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

JSON в XMLзадайте структуру для принимающей системы

Пример содержит атрибут, текст, пустой массив и null. Проверьте их представление перед экспортом.

JSON в XML

XML в JSON

Входной JSON

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

Результат XML

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

Предпросмотр типов

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

JSON в XML нужен, когда интеграция принимает документ вместо объектов и списков API. Имена, атрибуты и пространство имён определяет принимающая сторона. Изменение синтаксиса само по себе не раскрывает её контракт.

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

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

Пустые массивы остаются

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

Массив превращается в контейнер с двумя дочерними узлами, рядом остаётся пустой контейнер.

Роли полей задаются явно

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

Одно значение объекта направляется в атрибут, другое — в текст между тегами.

Что проверить в настройках

01

Корень добавляет оболочку

Объект с одним ключом не становится корнем автоматически. Его ключ остаётся ниже выбранного корневого элемента. Имя элементов массива применяется на всех уровнях вложенности.

02

Проверьте специальные ключи

Начальные маркеры — @ для атрибутов и #text для текста; оба можно изменить. При отключении сопоставления все ключи проверяются как имена элементов. Оставшиеся специальные ключи могут вызвать ошибку.

03

Несколько правок удобнее выполнить вручную

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

Управляемое построение документа

Корень и пространство имён

Корень и элементы массива должны иметь допустимые локальные имена XML 1.0. URI пространства по умолчанию объявляется в корне и действует на элементы, но не на атрибуты без префикса.

Явная политика для null

По умолчанию записывается xsi:nil="true" и автоматически объявляется xsi. Режим отказа останавливается на null. Пустые строки, объекты и массивы дают существующие пустые элементы, а не удалённые поля.

Числа сохраняют исходную запись

9007199254740993, -0 и 1e999 не проходят через числа с плавающей точкой JavaScript. Спецсимволы экранируются, а табуляция и переводы строк атрибутов записываются ссылками на символы против нормализации XML.

Независимая проверка результата

Парсер проверяет XML 1.0 и пространства имён, затем сравнивает имена, атрибуты и текст с ожидаемым деревом. Доступны два или четыре пробела, компактный вывод и необязательная декларация UTF-8.

Границы представления данных

Типы восстанавливаются неоднозначно
Числа и логические значения становятся текстом без типов JSON. Пустые массив, объект и строка могут дать одинаковый элемент. Сохранение узлов не означает гарантированный обратный переход без потерь.
Имена не исправляются незаметно
Пустые ключи, пробелы и цифры в начале имени вызывают ошибку с JSON Pointer. Нет замены символов подчёркиванием, сортировки, комментариев или сохранения только последнего повторяющегося ключа.
Атрибутам и тексту нужны скаляры
Разрешены строки, числа и логические значения без null. Объекты и массивы здесь отклоняются. Текстовое поле, даже пустое, не может соседствовать с дочерними элементами.
Ограниченная работа с префиксами
Поддерживаются пространство по умолчанию и @xml:lang. Остальные имена с двоеточием, xml:space, декларации xmlns и переопределение xsi запрещены. Резервные URI XML/XMLNS и проверка XSD, DTD или SOAP-контрактов не поддерживаются.
Один ограниченный текстовый документ
Пределы: 500 000 символов ввода, глубина 100, 50 000 узлов и 2 000 000 символов вывода. Запрещённые XML-символы и одиночные суррогаты вызывают ошибку. Нет загрузки файла, URL, пакетов, CDATA и обратного преобразования.

Вопросы о JSON в XML

Как получить XML из JSON?

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

Как представить массив в XML?

Создаётся контейнер с именем ключа массива, внутри повторяется выбранное имя элемента. Пустой массив сохраняет контейнер. Вложенные списки не разворачиваются в один уровень, поэтому структура остаётся явно видимой.

Будут ли в результате отступы?

Да: выберите два или четыре пробела либо компактный вариант. Отступы добавляют пробельный текст между дочерними элементами. Если принимающая система чувствительна к нему, выбирайте компактный вывод; содержимое скаляров не форматируется.

Куда конвертер помещает XML-атрибуты?

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

Работает ли маркер @attributes при обратном преобразовании?

Нет. Здесь используется префикс отдельного поля, например @id, а не объект @attributes. Объект в атрибуте вызовет ошибку. Обратное преобразование на этой странице не выполняется, и соглашения другого инструмента автоматически не распознаются.

В документе обнаружился особый случай сопоставления?

Подготовьте следующий документ

Используйте JSON в XML для проверки примера, затем задайте корень и пространство имён вашей интеграции.