Что делает инструмент
Этот инструмент конвертирует данные 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".