Конвертер файлов
Конвертер JSON в XML
Конвертируйте JSON в XML онлайн бесплатно
- Загрузить
- Выбрать формат
- Скачать
Загрузка файлов
Перетащите файлы сюда
или
Файлы 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, кириллица пишется как есть, без числовых ссылок вида И. Отступы включаются настройкой: с ними документ удобно читать и отлаживать, без них он весит меньше при отправке по сети. Проверить результат проще всего в браузере — он покажет дерево тегов, а при ошибке структуры прямо укажет строку.
Как конвертировать JSON в XML
Шаг 1
Загрузите JSON
Перетащите файл с данными в область загрузки. За один раз можно отправить несколько файлов, а ограничение по размеру действует на каждый из них.
Шаг 2
Подготовьте атрибуты, если они нужны
Ключи, начинающиеся с @, станут атрибутами тега, остальные — вложенными элементами. Переименуйте поля заранее, если хотите управлять этим сами.
Шаг 3
Выберите форматирование
Включите отступы, если XML будут читать люди, и отключите, если файл сразу уходит в интеграцию — так он получится компактнее.
Шаг 4
Скачайте XML и проверьте его
Откройте результат в браузере: он отрисует дерево тегов и сообщит об ошибке, если документ окажется некорректным.
Что обычно спрашивают
Как получить атрибуты вместо вложенных тегов?
Добавьте к именам нужных ключей префикс @ — такие поля записываются атрибутами родительского тега. Это же правило работает в обратную сторону: JSON, полученный из XML, конвертируется назад с сохранением атрибутов.
Почему числа стали текстом?
В XML типов нет — там любое содержимое тега является текстом. Число, строка и логическое значение записываются одинаково, а различать их должна принимающая система по своей схеме.
Можно ли задать другое имя корневого элемента?
Корень всегда называется root, а элементы массивов — item. Если интеграция требует конкретных имён, переименуйте теги после конвертации или соберите документ по шаблону на своей стороне.
Что будет с ключами на кириллице?
Кириллица в именах тегов допустима стандартом XML, поэтому такие ключи остаются как есть. Исправляются только имена, запрещённые правилами: с пробелами, цифрой в начале или спецсимволами.
Получится ли из XML снова точно такой же JSON?
Близкий по содержанию — да, полностью идентичный — нет. При обратном разборе все значения окажутся строками, а одиночные теги нельзя будет отличить от массива из одного элемента.
Чем различаются JSON и XML
Что такое JSON
Текстовый формат структурированных данных — стандарт де-факто для веб-API и настроек.
| Полное название | 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 |
| Спецификация | Описание формата |
Что такое 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 |
| Спецификация | Описание формата |