Що робить інструмент
Цей інструмент перетворює дані JSON на XML. Об’єкти стають елементами, масиви — повторюваними елементами, рядки, числа й булеві значення — текстом, а null — порожнім елементом. Ключі, що починаються з @, перетворюються на атрибути, а ключ #text задає текст елемента — це відповідає формату, який створює конвертер XML у JSON, тож дані можна перетворювати туди й назад.
Як користуватися
- Вставте JSON у поле Вхідні дані, завантажте файл
.jsonабо натисніть Приклад. - XML з’являється праворуч під час введення. Про некоректний JSON повідомляється із зазначенням позиції.
- Виберіть стиль Відступу, задайте Назву кореневого елемента, змініть Префікс ключів атрибутів і вирішіть, чи додавати оголошення
<?xml ?>. - Скопіюйте XML або збережіть його як файл
.xml.
Приклад
{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }
перетворюється на
<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
<title>XML Guide</title>
<tags>xml</tags>
<tags>json</tags>
<price>44.95</price>
</book>
Примітки
Спеціальні символи екрануються (&, <, > у тексті, а в атрибутах ще й "), тож результат може завантажити будь-який XML-парсер. У JSON немає способу виразити простори імен, коментарі чи CDATA, тому вони не генеруються.
Часті запитання
› Як створити атрибути XML із JSON?
Почніть ключ із "@". {"book": {"@id": "bk101", "title": "Guide"}} перетворюється на <book id="bk101"><title>Guide</title></book>. Префікс можна змінити або очистити, щоб кожен ключ ставав елементом.
› Як конвертуються масиви JSON?
Масив повторює батьківський елемент для кожного свого елемента, тож {"tag": ["a", "b"]} стає <tag>a</tag><tag>b</tag>. Масив верхнього рівня або масив безпосередньо в іншому масиві використовує елементи <item>.
› Що відбувається з ключами, які не є коректними іменами XML?
Пробіли й символи замінюються підкресленнями, а імена, що починаються з цифри або з "xml", отримують підкреслення на початку, тож результат завжди коректно сформований.
› Звідки береться кореневий елемент?
Якщо JSON-об’єкт має рівно один ключ, саме він стає коренем. Інакше все обгортається елементом із назвою, заданою в параметрах, — за замовчуванням "root".