IT Market
Инструменты/Код/Документы/JSON в XML конвертер онлайн — скачать XML
JSON → XML

Конвертируйте JSON в XML формат

Коротко об инструменте

JSON в XML конвертер онлайн — скачать XML

XML до сих пор живёт там, где обмен настроен годами: выгрузки для 1С, прайс-листы маркетплейсов, интеграции по SOAP и старые импортёры, которые ничего другого не принимают. Конвертер строит из JSON дерево тегов — ключи превращаются в имена элементов, вложенные объекты в узлы, а массивы в повторяющиеся теги. Рядом с кнопкой «Копировать XML» есть «Скачать XML»: файл собирается и сохраняется на вашей стороне, выгрузка при этом никуда не передаётся. Смотрите также: разобрать XML обратно в JSON, выровнять отступы в готовом XML, получить тот же объект в YAML для конфига.

Как пользоваться

  1. Вставьте данные в поле «JSON на входе» — подойдёт и объект, и массив на верхнем уровне.
  2. Нажмите «Конвертировать» — дерево тегов появится в поле «XML на выходе» с отступами по уровням вложенности.
  3. Просмотрите имена тегов: недопустимые в XML символы заменяются подчёркиванием, а имя, начинающееся с цифры, получает подчёркивание в начале. Все такие переименования перечислены в строке статуса.
  4. Нажмите «Копировать XML», если результат нужно вставить в редактор, в тело запроса или в тикет.
  5. Нажмите «Скачать XML», чтобы получить файл и передать его импортёру или загрузить в личный кабинет площадки.

Вопросы и ответы

Почему полученный XML не проходит проверку валидатором?

Имена тегов страница чинит сама: недопустимый символ заменяется подчёркиванием, ключ с цифры получает подчёркивание в начале, и каждое переименование названо в строке статуса. Так что ключи «2024» и «Дата заказа» дадут валидный документ, но с изменёнными именами — сверьте их со схемой принимающей системы. Если валидатор всё же ругается, причина обычно в самой схеме: обязательный порядок элементов, пространство имён или тип значения.

Можно ли вынести часть данных в атрибуты тегов?

Да. Положите их в ключ @attributes — его содержимое станет атрибутами тега, а не вложенными элементами: {"offer":{"@attributes":{"id":"A-1"},"#text":"Ноутбук"}} даст Ноутбук. Ключ #text задаёт собственный текст элемента. Остальные поля по-прежнему становятся вложенными тегами, а в значениях атрибутов экранируются кавычки и апострофы.

Как в XML попадает массив объектов?

Каждый элемент массива выводится отдельным тегом с тем же именем, что и ключ массива, — получается серия одноимённых узлов подряд. Это стандартный для XML способ хранить список. Обратите внимание, что при обратном разборе одиночный элемент такого списка перестаёт выглядеть массивом: в XML нет способа отличить список из одного узла от простого поля.

Есть ли в файле объявление кодировки и корневой элемент?

Смотрите на первую строку вывода: если объявления вида нет, а импортёр его требует, допишите строку вручную перед загрузкой файла. Второе требование строгих парсеров — единственный корневой элемент. Массив на верхнем уровне даёт несколько узлов подряд, и такой документ нужно обернуть в общий тег.

Что произойдёт со знаками < > & внутри значений?

Эти символы в тексте XML имеют служебное значение, поэтому корректный вывод заменяет их на сущности &lt;, &gt; и &amp;. Обязательно проверьте описания товаров и любые поля с фрагментами HTML: если знаки остались как есть, документ развалится при разборе. Спорные места безопаснее обернуть в секцию CDATA вручную.

Куда уходит выгрузка, которую я вставляю?

Никуда: и сборку дерева, и формирование файла для кнопки «Скачать XML» выполняет скрипт внутри страницы. Файл создаётся в памяти браузера и сохраняется обычным диалогом загрузки, минуя сервер. Поэтому прайс-лист с закупочными ценами или внутреннюю выгрузку здесь можно конвертировать, не согласовывая передачу данных наружу.

Примеры

Карточка товара для прайс-листа
До: {"offer": {"id": "A-1", "name": "Kreslo", "price": 8900}}
После: A-1 Kreslo 8900
Массив как повторяющиеся теги
До: {"tags": ["sale", "new"]}
После: sale new