Конвертер XML в JSON
Вставьте XML и получите JSON, в котором сохранены элементы, атрибуты и текст, чтобы работать с ними в JavaScript или API.
JSON
Преобразование XML-документов в JSON
XML и JSON по-разному представляют данные: в XML есть атрибуты, текстовые узлы и повторяющиеся элементы, а в JSON — только объекты, массивы и значения. Этот конвертер использует компактное отображение без потерь. Каждый элемент становится ключом, атрибуты собираются в _attributes, текстовое содержимое хранится в _text, а элемент, встречающийся больше одного раза, становится массивом. XML-декларация сохраняется в _declaration. Поскольку ничего не теряется, вы можете отредактировать JSON и преобразовать его обратно в XML с помощью конвертера JSON в XML.
Как пользоваться
- Вставьте XML, например SOAP-ответ, RSS-ленту или Maven-файл pom.xml.
- Посмотрите JSON в редакторе вывода; ошибки разбора указывают строку, в которой XML сформирован некорректно.
- Скопируйте JSON или нажмите «Поменять», чтобы преобразовать его обратно в XML.
Часто задаваемые вопросы
- Почему числа из моего XML превращаются в строки?
- В XML нет типов данных: всё содержимое элемента — это текст. Конвертер сохраняет значения как строки в _text, чтобы ничего не было угадано неверно, например почтовый индекс с ведущим нулём.
- Почему элемент иногда становится объектом, а иногда массивом?
- Одиночный элемент становится объектом, а повторяющиеся соседние элементы с одинаковым именем — массивом. Если ваш код должен обрабатывать оба случая, проверяйте значение через Array.isArray или приводите его к массиву.
- Что означают _attributes и _text?
- _attributes содержит атрибуты элемента в виде пар «ключ-значение», а _text — его текстовое содержимое. Фиксированные имена исключают конфликты между атрибутами и дочерними элементами.
Пример: XML в JSON
Ввод XML
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101">
<title>XML Developer's Guide</title>
<price>44.95</price>
</book>
<book id="bk102">
<title>Midnight Rain</title>
<price>5.95</price>
</book>
</catalog>Вывод JSON
{
"_declaration": {
"_attributes": {
"version": "1.0",
"encoding": "UTF-8"
}
},
"catalog": {
"book": [
{
"_attributes": {
"id": "bk101"
},
"title": {
"_text": "XML Developer's Guide"
},
"price": {
"_text": "44.95"
}
},
{
"_attributes": {
"id": "bk102"
},
"title": {
"_text": "Midnight Rain"
},
"price": {
"_text": "5.95"
}
}
]
}
}