Конвертер JSON в XML
Преобразуйте JSON в XML с отступами для SOAP-сервисов, интеграций с унаследованными системами и конфигурационных файлов на основе XML.
JSON
Преобразование объектов JSON в элементы XML
SOAP-сервисы, платёжные шлюзы, RSS-ленты и многие корпоративные системы по-прежнему работают с XML. Этот конвертер отображает JSON на XML предсказуемым образом: каждый ключ становится элементом, массив — тем же элементом, повторённым для каждого значения, а вложенные объекты — вложенными элементами. Чтобы получить атрибуты или смешанный текст, используйте специальные ключи _attributes и _text — именно такую структуру формирует конвертер XML в JSON, поэтому данные можно преобразовывать туда и обратно. Результат форматируется с отступом в два пробела.
Как пользоваться
- Оберните данные в один ключ верхнего уровня, который станет корневым элементом XML, например {"order": {...}}.
- Вставьте JSON; добавьте объект _attributes везде, где элементу нужны атрибуты.
- Скопируйте 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>