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

Конвертировать JSON в XML

Превратите JSON в валидный XML с отступами: ключи станут элементами, массивы — повторяющимися элементами, а ключи с @ — атрибутами. Конвертация идёт в браузере.

Конвертировать в
Работает в браузере · без загрузки на серверКак это работает

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

  1. 1

    Вставьте JSON

    Объект, массив записей или ответ API; вместо вставки можно перетащить файл .json.

  2. 2

    Задайте названия элементов

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

  3. 3

    Скачайте XML

    С отступами из пробелов или табуляции либо в одну строку, с объявлением <?xml?> или без него.

Лимиты и Pro

Файлы JSON до 500 MB; вставленный текст любого размера, который выдержит ваш браузер.

Файлы JSON до 4 GB. Смотреть Pro

О инструменте «JSON в XML»

JSON в XML записывает данные JSON в виде XML-документа для систем, которые до сих пор обмениваются данными в XML: импорт в бухгалтерию и ERP, схемы электронных счетов, SOAP-сервисы, ресурсы Android и многие устаревшие интеграции.

Каждый ключ становится элементом, а каждый массив повторяет свой элемент, поэтому {"book": [{…}, {…}]} превращается в два соседних элемента <book> — именно такую структуру обычно ожидают XML-схемы. Массив верхнего уровня, которого в XML быть не может, оборачивается в корневой элемент, где на каждую запись приходится один элемент item. Если же на верхнем уровне единственный ключ с массивом, например {"orders": […]}, он становится корнем, а дочерние элементы получают имя в единственном числе — <order>. Если у объекта ровно один ключ верхнего уровня, он и будет корнем; иначе корень называется root или так, как вы его назовёте.

Ключи, начинающиеся с @, становятся атрибутами, а ключ "#text" — текстом элемента. Это то же соглашение, что и в обратном направлении, из XML в JSON, поэтому данные можно переносить туда и обратно. Включите «Записывать простые значения как атрибуты», чтобы получать компактные записи вроде <user id="1" name="Ann"/>.

JSON допускает имена ключей, которые недопустимы в XML, поэтому имена исправляются: пробелы и другие недопустимые символы заменяются подчёркиванием, а если имя начинается с цифры, перед ним ставится подчёркивание ("1st place" → _1st_place). Текст экранируется (&, < и > в содержимом; кавычки в атрибутах), запрещённые в XML символы удаляются, null становится пустым элементом, а во вложенных массивах появляются дочерние элементы item.

Результат выдаётся в кодировке UTF-8. Это корректно сформированный XML, но он не проверяется по схеме XSD, поэтому порядок элементов и обязательные поля зависят от ваших данных.

Конфиденциальность

JSON, который вы вставляете или перетаскиваете, читается и превращается в XML фоновым процессом прямо во вкладке браузера; он не отправляется на сервер и нигде не сохраняется.

JSON в XML: частые вопросы

Как получить атрибуты вместо дочерних элементов?
Поставьте перед ключом @ в вашем JSON: запись {"@id": 5, "name": "Ann"} в массиве даст <item id="5"><name>Ann</name></item>. Чтобы сразу сделать атрибутами все простые значения (текст, числа, true/false), включите «Записывать простые значения как атрибуты». Объекты и массивы всё равно станут дочерними элементами, ведь атрибуты могут содержать только текст.
Как будет называться корневой элемент?
Если JSON — объект с единственным ключом, например {"catalog": {…}}, этот ключ станет корнем. В остальных случаях конвертер оборачивает всё в <root>. Чтобы изменить оба варианта, введите любое имя в поле «Корневой элемент»; недопустимые символы будут заменены, чтобы документ остался корректным.
Как массивы записываются в XML?
Массив под ключом повторяет элемент этого ключа: "tag": ["a", "b"] превращается в <tag>a</tag><tag>b</tag>. Массивы без собственного ключа — на верхнем уровне или внутри другого массива — получают элементы item, имя которых можно изменить. Пустой массив становится одним пустым элементом, чтобы ключ не потерялся.
Специальные символы экранируются?
Да. Амперсанды и угловые скобки в тексте превращаются в &amp;, &lt; и &gt;; кавычки, табуляции и переводы строк внутри значений атрибутов записываются как символьные ссылки. Управляющие символы, запрещённые в XML 1.0, удаляются. Буквы любых алфавитов, включая эмодзи, записываются как есть, так как документ в кодировке UTF-8.
Можно ли проверить результат по моей XSD?
Здесь нельзя: конвертер создаёт корректно сформированный XML, но вашей схемы не знает. Составьте JSON так, как ожидает схема (имена ключей, их порядок, @ для атрибутов), выполните конвертацию и проверьте файл в XML-редакторе или в принимающей системе. Порядок ключей в результате совпадает с порядком в вашем JSON.

Другие задачи с этим инструментом