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

Конвертер файлов

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

Конвертируйте JSON в XML онлайн бесплатно

.json.xml
  1. Загрузить
  2. Выбрать формат
  3. Скачать

Загрузка файлов

Перетащите файлы сюда

или

Файлы JSON. До 5 МБ, до 20 файлов за раз. Изображение можно вставить из буфера обмена: Ctrl+V.

Объект становится деревом тегов внутри корневого элемента <root>, элементы массивов — тегами <item>. В XML все значения текстовые, поэтому числа и true/false потеряют тип, а ключи с пробелами и цифрами в начале приводятся к допустимым именам тегов.

Загруженные файлы и результаты конвертации удаляются с сервера через час. Предельный размер файла — 5 МБ, срок хранения — час.

Зачем переводить JSON в XML

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

Правила преобразования прямые. Объект {"user": {"name": "Иван", "age": 30}} становится деревом тегов внутри root, а массив под ключом tags разворачивается в набор одинаковых тегов item. Ключи с префиксом @ записываются атрибутами — это позволяет собрать полноценный XML из JSON, полученного нашим же направлением XML → JSON. Имена тегов при необходимости чинятся: в XML имя не может начинаться с цифры или содержать пробелы, поэтому «дата заказа» превратится в дата_заказа. Символы & < > внутри значений экранируются автоматически.

Главное, что нужно помнить: в XML все значения — текст. Число 30 и строка «30» в результате неразличимы, true становится обычным словом, а null — пустым тегом. Типы восстанавливает принимающая сторона, опираясь на схему, поэтому конвертация подходит для передачи данных, но не для хранения их вместе с типами. Если формат нужен строго по XSD — с конкретными именами тегов, атрибутами и пространством имён — автоматическое преобразование его не даст: понадобится шаблон или преобразование XSLT на стороне интеграции.

Файл начинается с объявления XML в кодировке UTF-8, кириллица пишется как есть, без числовых ссылок вида &#1048;. Отступы включаются настройкой: с ними документ удобно читать и отлаживать, без них он весит меньше при отправке по сети. Проверить результат проще всего в браузере — он покажет дерево тегов, а при ошибке структуры прямо укажет строку.

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

  1. Шаг 1

    Загрузите JSON

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

  2. Шаг 2

    Подготовьте атрибуты, если они нужны

    Ключи, начинающиеся с @, станут атрибутами тега, остальные — вложенными элементами. Переименуйте поля заранее, если хотите управлять этим сами.

  3. Шаг 3

    Выберите форматирование

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

  4. Шаг 4

    Скачайте XML и проверьте его

    Откройте результат в браузере: он отрисует дерево тегов и сообщит об ошибке, если документ окажется некорректным.

Что обычно спрашивают

Как получить атрибуты вместо вложенных тегов?

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

Почему числа стали текстом?

В XML типов нет — там любое содержимое тега является текстом. Число, строка и логическое значение записываются одинаково, а различать их должна принимающая система по своей схеме.

Можно ли задать другое имя корневого элемента?

Корень всегда называется root, а элементы массивов — item. Если интеграция требует конкретных имён, переименуйте теги после конвертации или соберите документ по шаблону на своей стороне.

Что будет с ключами на кириллице?

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

Получится ли из XML снова точно такой же JSON?

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

Чем различаются JSON и XML

.json

Что такое JSON

Текстовый формат структурированных данных — стандарт де-факто для веб-API и настроек.

Характеристики формата JSON
Полное названиеJavaScript Object Notation
РазработчикДуглас Крокфорд
Год появления2001
Расширение.json
MIME-типыapplication/json, text/json, application/x-json
СодержимоеТекстовое
Несколько страниц в файлеНет
Типы данныхСтрока, число, логическое, null, массив, объект
СтандартRFC 8259 / ECMA-404
КодировкаUTF-8
КомментарииНе поддерживаются
СхемаОпционально, через JSON Schema
Чем открытьVS Code, Notepad++, Sublime Text, JetBrains IDE, Google Chrome, jq
СпецификацияОписание формата
Всё о формате JSON
.xml

Что такое XML

Универсальный язык разметки для описания структурированных данных со строгой проверкой по схеме.

Характеристики формата XML
Полное названиеExtensible Markup Language
РазработчикW3C
Год появления1998
Расширение.xml
MIME-типыapplication/xml, text/xml
СодержимоеТекстовое
Несколько страниц в файлеНет
СхемыXSD, DTD, RELAX NG
Пространства имёнПоддерживаются
ОбработкаXPath, XSLT, XQuery
КодировкаОбъявляется в прологе документа
МногословностьВыше, чем у JSON
Чем открытьVS Code, Notepad++, XMLSpy, JetBrains IDE, Mozilla Firefox, xmllint
СпецификацияОписание формата
Всё о формате XML