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

Вставьте объект JSON и получите для него XML. Ключи с @ становятся атрибутами, #text — текстом элемента, а массив — одним и тем же повторяющимся элементом. Ничего из вставленного не покидает ваш браузер.

Бесплатно Работает в браузере Проверено вторник, 10 ноября 2026 г.

Один объект с одним членом: его имя становится корневым элементом.

Отступ

Первая строка: <?xml version="1.0" encoding="UTF-8"?>.

Результат

XML — Скопируйте его или скачайте как converted.xml.
Элементы — Сколько элементов записано, включая корневой.
XML

Этот инструмент работает в вашем браузере. То, что вы вводите, нам не отправляется.

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

  1. Вставьте JSON в поле JSON. Его единственный член верхнего уровня станет корневым элементом.
  2. Используйте префикс @ для атрибутов, например @id, и #text для текста элемента.
  3. Выберите Отступ или Без переносов строк (минификация), чтобы получить самый короткий XML.
  4. Скопируйте XML или скачайте его как converted.xml.

Соответствие, правило за правилом

XML имеет элементы и атрибуты; JSON — объекты, массивы и значения. Соответствие связывает их в одном направлении. Верхний уровень — объект с одним членом: его имя становится корневым элементом. Объект становится элементом. Член, имя которого начинается с @, становится атрибутом, а член с именем #text становится текстом элемента. Любой другой член становится дочерним элементом с этим именем.

Массив даёт один дочерний элемент на каждый элемент массива, все с именем массива, поэтому список книг записывается как повторяющиеся элементы book. Строка, число, true или false становятся текстом. null и пустой объект становятся пустым элементом. Пустой массив не имеет формы в XML и пропускается.

  • Имя должно быть именем XML: ключ вроде first name с пробелом не может стать именем элемента.
  • Массив внутри массива отклоняется, потому что нет имени элемента для его элементов.
  • Текст числа записывается так, как его записывает JavaScript, поэтому число с более чем 15 или 16 значащими цифрами может потерять цифры, как и при чтении JSON.

Что не может сохранить соответствие

XML не имеет типов, поэтому разница между числом 12 и текстом «12» теряется на обратном пути: конвертер из XML в JSON читает текст, похожий на число, как число, если его типизация не отключена. Пустой объект и null в XML выглядят одинаково, а массив из одного элемента возвращается как этот элемент. Это ограничения соответствия, а не ошибки инструмента.

Комментарии и инструкции обработки не записываются, потому что в JSON для них нет места. Текст внутри элемента экранируется, поэтому &, < и > остаются текстом в XML.

Пример: каталог по умолчанию

JSON по умолчанию содержит один член, catalog. Его @version становится атрибутом version элемента catalog, а массив book — двумя элементами book. Каждая книга берёт свой @id как атрибут id, а ключи title, price и inStock становятся дочерними элементами. Значение price null у второй книги становится пустым элементом price.

С двумя пробелами и объявлением вывод содержит восемь элементов: каталог, две книги, три дочерних элемента первой книги и два — второй. Счётчик показывает 8.

Частые вопросы

Как записать атрибут в JSON?

Дайте ключу префикс @. Член "@id": "1" становится id="1" в элементе, который его содержит. Значения атрибутов должны быть текстом, числами или true либо false, а не объектами или массивами.

Почему мой массив превращается в несколько элементов с одним именем?

В XML нет массива. Каждый элемент массива становится одним элементом с именем массива в том же порядке, так XML обычно перечисляет повторяющиеся вещи, например книги или товары.

Почему я получаю ошибку о верхнем уровне?

XML нужен ровно один корневой элемент. JSON должен быть одним объектом с одним членом, например {"catalog": {...}}; список или несколько членов на верхнем уровне не могут образовать один документ.

Почему ключ с пробелом отклоняется?

Имена элементов в XML не могут содержать пробелов. Переименуйте ключ, например в first-name или firstName, перед преобразованием.

Мой JSON отправляется на сервер?

Нет. Преобразование выполняется в вашем браузере. Ничего из вставленного не отправляется на наш сервер и не сохраняется там.

Источники

Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..

Мы используем необходимые cookie, чтобы сайт работал. С вашего согласия Google также использует рекламные cookie, чтобы показывать персонализированную рекламу. Если вы откажетесь, реклама всё равно будет показываться, но не будет персонализированной.