Перейти к содержимому

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

Превратите JSON в валидный XML со своими правилами для корня, массивов и атрибутов.

Настройки
Работает в браузере: данные никуда не загружаются.

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

  1. Вставьте исходные данные в редактор JSON.
  2. В поле «Корневой элемент» укажите имя корня, например catalog.
  3. В списке «Массивы» выберите «Повторять элемент» или «Обернуть в items».
  4. В списке «Отступ» выберите нужное оформление, например «2 пробела».
  5. Проверьте результат в редакторе XML и предупреждения под ним.

Примеры

Список товаров для обмена данными

Исходные данные
[{"артикул":"ЧАЙ-001","название":"Чай чёрный","цена":350},{"артикул":"ЧАЙ-002","название":"Чай зелёный","цена":420}]
Результат
<?xml version="1.0" encoding="UTF-8"?>
<products>
  <product>
    <артикул>ЧАЙ-001</артикул>
    <название>Чай чёрный</название>
    <цена>350</цена>
  </product>
  <product>
    <артикул>ЧАЙ-002</артикул>
    <название>Чай зелёный</название>
    <цена>420</цена>
  </product>
</products>

Цена с атрибутом валюты

Исходные данные
{"price":{"@currency":"RUB","#text":"1290.00"}}
Результат
<price currency="RUB">1290.00</price>

Карточка товара с тегами и HTML-описанием

Исходные данные
{"product":{"name":"Кружка","tags":["посуда","подарки"],"description":"<p>Объём 350 мл</p>","discount":null}}
Результат
<product>
    <name>Кружка</name>
    <tags>
        <tag>посуда</tag>
        <tag>подарки</tag>
    </tags>
    <description><![CDATA[<p>Объём 350 мл</p>]]></description>
</product>

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

Почему JSON не конвертируется в XML?

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

Можно ли использовать русские названия ключей?

Ключи вроде «имя» сохраняются без изменений. Недопустимые символы в именах (пробел, /, @, #, $, :) заменяются на подчёркивания, а если имя начинается с цифры, дефиса или точки, перед ним добавляется подчёркивание. О таких переименованиях инструмент выводит предупреждение.

Сохраняются ли длинные числовые идентификаторы?

Числа переносятся в XML точно в той записи, которая была в JSON. Это касается и 20-значных идентификаторов, и записей вроде 1.0 или 1e5.

Какие ограничения есть для JSON-файлов?

Файлы размером более 50 МБ не принимаются. Максимальная глубина вложенности JSON — 1000 уровней; при нехватке памяти браузера потребуется уменьшить входные данные.

Отправляются ли данные на сервер?

JSON обрабатывается в вашем браузере; код инструмента не отправляет JSON или XML на сервер. Исходный текст не сохраняется, в localStorage записываются только настройки. При переходе в другой инструмент по кнопкам «Поменять» и «Открыть в XML Formatter» текст временно передаётся на следующую страницу через sessionStorage браузера.