UltKit
Изображения11
PDF13
Документы и данные7
Видео6
Аудио4
Другие инструменты22

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

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

Конвертер данных

или перетащите сюда файлы CSV, TSV, TXT … ·

Макс. 95 MB на файл· До 20 файлов· Удаляются через 30 минут

Вывод

Файлы обрабатываются на наших серверах и удаляются через 30 минут.

Как пользоваться инструментом

  1. 1

    Загрузите JSON

    Добавьте файл .json, например ответ API, или файл JSON Lines. До 20 файлов, каждый до 95 MB.

  2. 2

    Задайте имя корневого элемента

    В разделе Расширенные настройки введите внешний тег в поле Корневой тег XML (по умолчанию rows) и оставьте включенным Форматирование с отступами, чтобы результат был с отступами.

  3. 3

    Конвертируйте и сопоставьте поля

    Нажмите Конвертировать в XML → и скачайте результат. Переименуйте теги, если схема принимающей системы ожидает другие имена.

Зачем конвертировать JSON в XML, если большинство API перешли на JSON

JSON победил в веб-API; его актуальная спецификация, RFC 8259 2017 года, умещается на нескольких страницах. XML старше: он рекомендация W3C с февраля 1998 года и никуда не ушел оттуда, где контракты строгие: банки, электронные счета, издательское дело и государственная отчетность.

Поэтому направление этой конвертации обычно диктуют деньги или регулирование. Разработчик получает заказы из JSON API и должен отправить их в SOAP-сервис партнера. Магазин хранит товары в JSON, а сайту сравнения цен нужен XML-фид. Команда хранит переводы в JSON, а сборка Android ожидает strings.xml. Если нужна таблица, JSON в CSV даст строки вместо элементов.

Системы, которые до сих пор принимают только XML

Где используется конвертер JSON в XML
ОрганизацияТребованиеИсточник
Веб-сервисы SOAPКаждый запрос передается как XML-конверт; SOAP 1.2 стал рекомендацией W3C в 2003 году—
Google Merchant CenterТоварные фиды принимаются в XML в формате RSS 2.0 или Atom 1.0, а также в виде текста с разделителями—
Электронные счета PeppolСчета передаются как XML-документы UBL 2.1 по правилам Peppol BIS Billing 3.0—
Приложения AndroidТекстовые ресурсы и переводы хранятся в res/values/strings.xml—

Пример JSON в XML: два товара

XML, полученный из [{"sku":"A-17","price":12.5,"tags":["новинка","скидка"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>новинка</tags>
    <tags>скидка</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

МифJSON и XML соответствуют друг другу один к одному, поэтому конвертация точная.

ФактВ XML есть атрибуты, смешанное содержимое и пространства имен, которых нет в JSON, а в JSON есть типы, которых нет в XML. Конвертер должен выбрать одно соответствие; здесь везде используются дочерние элементы.

МифЧисло 12.5 остается числом и в XML.

ФактXML хранит символы. 12.5 остается текстом, пока схема или читающая программа не определит его как десятичное число.

Что меняется при переводе JSON в XML

Стоит проверить три вещи. Типы превращаются в текст, поэтому true, null и 0 приходят как символы; null обычно становится пустым элементом. Ключи, не являющиеся допустимыми именами XML, нужно переименовать: тег не может начинаться с цифры или содержать пробел. И результат получается больше, потому что каждое значение обернуто в открывающий и закрывающий теги, повторяющие ключ.

Больше ничего не теряется. Вложенность сохраняется как вложенные элементы, порядок записей остается прежним, а текст Unicode не искажается, потому что файл записывается в UTF-8. Другие варианты для структурированных данных, от YAML до SQL, перечислены на странице конвертера данных.

Факты о форматах JSON и XML

JSON

Формат JSON (JavaScript Object Notation)

JSON — лёгкий текстовый формат для структурированных данных, который популяризировал Дуглас Крокфорд в начале 2000-х; он стандартизован как RFC 8259 и ECMA-404. Он описывает объекты, массивы, строки, числа, логические значения и null с помощью простого и читаемого синтаксиса. Это формат по умолчанию для веб-API, файлов конфигурации и обмена данными между приложениями практически на любом языке программирования. В нём нет встроенных комментариев, дат и схем, а большие вложенные файлы трудно читать без просмотрщика.

Сжатие
–
Прозрачность
–
Анимация
–
Год появления
2001 · Douglas Crockford
Конвертер JSON

XML

Extensible Markup Language

XML — язык разметки для структурированных данных, опубликованный W3C в 1998 году. Он использует вложенные теги с атрибутами и поддерживает схемы, пространства имён и валидацию, что делает его надёжным для сложных документов. На нём основаны RSS-ленты, SVG, документы Office, карты сайтов и многие корпоративные и государственные системы обмена данными. XML многословнее JSON, но его читает любой язык программирования и многие табличные программы.

Сжатие
–
Прозрачность
–
Анимация
–
Год появления
1998 · W3C
Конвертер XML

JSON переводят в XML, когда современные данные нужно передать по более старому контракту: в SOAP-сервис, товарный фид, сеть электронных счетов или файл конфигурации, потребитель которого читает элементы, а не фигурные скобки.

Вопросы о конвертере JSON в XML

Зачем XML нужен один корневой элемент, если мой JSON начинается с массива?

Спецификация XML 1.0 требует, чтобы в каждом корректном документе был ровно один элемент, содержащий все остальные. У массива JSON такой обертки нет, поэтому конвертер добавляет ее с именем из поля Корневой тег XML и помещает каждый элемент массива внутрь как <row>.

Что происходит с ключами JSON вроде «2024 total» или «unit price»?

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

Как массив JSON внутри записи записывается в XML?

Как один и тот же элемент, повторенный для каждого значения. Массив tags с тремя строками превращается в три подряд идущих элемента <tags>. Пустой массив не оставляет ничего: это одно из немногих мест, где при конвертации JSON в XML теряется информация.

Пройдет ли XML проверку по XSD-схеме партнера?

Только если структура уже совпадает. Конвертер записывает точную, корректную копию вашего JSON; он не знает, какой порядок элементов, пространства имен или атрибуты требует партнер. Используйте результат как основу и доработайте под схему.

Можно ли конвертировать XML обратно в JSON?

Используйте XML в JSON. При обратном преобразовании возможны небольшие отличия: XML хранит все значения как текст, поэтому число или true из JSON могут вернуться строкой.