VELDAT

Перевести JSON в XML

Текст обрабатывается в браузере и не отправляется на сервер.

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

Данные

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

Схема появится, когда в поле будут данные

Дальше обычно делают

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

XML — формат данных из тегов в угловых скобках, похожий на HTML. Его требуют многие системы: обмен с 1С и другими учётными программами, электронные документы, банковские и государственные сервисы, интеграции на SOAP. JSON короче и проще, и данные сайтов и современных сервисов обычно хранятся в нём.

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

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

  1. Вставьте JSON в поле слева или откройте файл .json.

  2. Справа выберите вкладку XML: перевод появится сразу.

  3. Скопируйте или скачайте XML. Если какие-то ключи пришлось переименовать, это написано под результатом.

Пример

Было
{"order": {"@id": "7", "item": [{"@sku": "A-100", "#text": "Бумага"}, {"@sku": "B-205", "#text": "Картридж"}], "paid": false}}
Стало
<?xml version="1.0" encoding="UTF-8"?>
<order id="7">
  <item sku="A-100">Бумага</item>
  <item sku="B-205">Картридж</item>
  <paid>false</paid>
</order>

Вопросы и ответы

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

Назовите ключ с @: "@id": "7" станет атрибутом id="7". Текст элемента рядом с атрибутами — ключ #text. Это то же правило, по которому XML переводится в JSON, поэтому перевод туда и обратно сохраняет атрибуты.

Как переводятся массивы?

Каждый элемент массива становится тегом с именем ключа: "item": [...] — несколько <item> подряд. Если массив лежит в самом корне, теги называются <item> и обёрнуты в <root>.

Что, если ключ не годится в имя тега?

Имя тега не может начинаться с цифры или содержать пробел, поэтому такие ключи переименовываются: first name — first_name, 1st — _1st. Под результатом перечислено, какие ключи изменены.

Можно ли сжать готовый XML в строку?

Перевод выводится с отступами. Чтобы сжать его, нажмите «Перенести влево» и «Сжать».

Задача сложнее инструмента

Архитектуру и интеграции с API можно обсудить на консультации: выберите время, и вы получите письменный итог с конкретными шагами.

Записаться на консультацию