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

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

JSON

Преобразование объектов JSON в элементы XML

SOAP-сервисы, платёжные шлюзы, RSS-ленты и многие корпоративные системы по-прежнему работают с XML. Этот конвертер отображает JSON на XML предсказуемым образом: каждый ключ становится элементом, массив — тем же элементом, повторённым для каждого значения, а вложенные объекты — вложенными элементами. Чтобы получить атрибуты или смешанный текст, используйте специальные ключи _attributes и _text — именно такую структуру формирует конвертер XML в JSON, поэтому данные можно преобразовывать туда и обратно. Результат форматируется с отступом в два пробела.

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

  1. Оберните данные в один ключ верхнего уровня, который станет корневым элементом XML, например {"order": {...}}.
  2. Вставьте JSON; добавьте объект _attributes везде, где элементу нужны атрибуты.
  3. Скопируйте XML из редактора вывода.

Часто задаваемые вопросы

Почему в моём XML больше одного корневого элемента?
Каждый ключ верхнего уровня в JSON становится элементом верхнего уровня. В корректно сформированном XML-документе должен быть ровно один корень, поэтому оберните данные в один ключ, например {"root": {...}}.
Как создать атрибуты XML?
Добавьте к элементу объект _attributes: например, {"book": {"_attributes": {"id": "bk101"}, "title": "Midnight Rain"}} даёт <book id="bk101"><title>Midnight Rain</title></book>.
Добавляется ли XML-декларация?
По умолчанию нет. Добавьте на верхний уровень ключ _declaration, например {"_declaration": {"_attributes": {"version": "1.0", "encoding": "UTF-8"}}}, чтобы вывести <?xml version="1.0" encoding="UTF-8"?>.

Пример: JSON в XML

Ввод JSON

{
  "order": {
    "_attributes": { "id": "1042" },
    "customer": "Ada Lovelace",
    "item": [
      { "sku": "BK-01", "qty": 2 },
      { "sku": "PN-07", "qty": 1 }
    ]
  }
}

Вывод XML

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item>
    <sku>BK-01</sku>
    <qty>2</qty>
  </item>
  <item>
    <sku>PN-07</sku>
    <qty>1</qty>
  </item>
</order>

Другие преобразования