Инструменты
RU

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

Вставьте XML — и сразу получите JSON. Атрибуты, текст и повторяющиеся элементы преобразуются по простым и предсказуемым правилам, а настройки позволяют управлять массивами, типами значений и префиксами пространств имён.

XML

JSON

Конфиденциально: ваши данные обрабатываются в браузере и никуда не загружаются.

Как конвертировать XML в JSON

  1. Вставьте XML, перетащите файл .xml в редактор или загрузите его по URL. JSON появляется по мере ввода.
  2. Настройте префикс атрибутов и ключ для текста и решите, нужно ли всегда использовать массивы, преобразовывать числа и логические значения или игнорировать префиксы пространств имён.
  3. Скопируйте JSON или скачайте его как файл .json.

Как XML преобразуется в JSON

XMLJSON
<name>Ada</name>"name": "Ada"
<price>9.90</price>"price": 9.90 — цифры сохраняются в точности
<item id="7">Pen</item>"item": {"@id": 7, "#text": "Pen"}
<tag>a</tag><tag>b</tag>"tag": ["a", "b"]
<note/>"note": null
<![CDATA[a < b]]>текст "a < b"
<soap:Body> с опцией Игнорировать префиксы пространств имён"Body"

Зачем нужна опция «Всегда использовать массивы»

Элемент, который встречается один раз, становится одиночным значением, а если он встречается дважды — массивом. Коду, который читает такой JSON, приходится обрабатывать оба варианта — классический источник ошибок, когда в списке иногда оказывается всего один элемент. Отметьте Всегда использовать массивы для дочерних элементов, чтобы массивы были везде: структура становится предсказуемой ценой нескольких лишних скобок.

Преобразование XML в JSON в коде

Часто задаваемые вопросы

Конвертация проходит без потерь?

Имена элементов, атрибуты и текст сохраняются, а числа — с точностью до цифры. Комментарии, инструкции обработки и положение текста между дочерними элементами (смешанное содержимое) в JSON передать нельзя.

Можно ли конвертировать JSON обратно в XML?

Да, с помощью конвертера JSON в XML на нашем родственном сайте JSON Formatter — он использует те же соглашения @ и #text.

Что происходит с пространствами имён?

По умолчанию имена с префиксами, например soap:Body, сохраняются как ключи, а объявления xmlns выводятся как атрибуты. Отметьте Игнорировать префиксы пространств имён, чтобы получить простые имена вроде Body без объявлений.

Почему значение — строка, а не число?

Значения вроде 007 или 1,000 не являются обычными десятичными числами, поэтому остаются строками, чтобы избежать потери данных. Снимите флажок Преобразовывать числа и true/false, чтобы все значения оставались строками.