Перейти к содержимому

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

Получите чистый JSON из XML с контролем над атрибутами, массивами и типами.

Настройки
Работает в браузере — ваш XML никуда не загружается. Внешние DTD никогда не запрашиваются.

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

  1. Вставьте документ в поле «Исходный XML». Конвертация начнётся автоматически, если в нём не больше 1 млн символов.
  2. В поле «Массивы» выберите «Авто (2+ одинаковых тега)» или «Всегда». При значении «Всегда» массивами становятся даже одиночные дочерние элементы.
  3. В поле «Ключ текста» укажите имя ключа для текста элемента с атрибутами или дочерними тегами, например #text.
  4. В поле «Отступ» выберите «2 пробела», «4 пробела», «Табуляция» или «Минифицировать» для JSON в одну строку.

Примеры

Заказ: числа, логические значения и артикул с нулями

Исходные данные
<заказ id="12345678901234567890"><товар><артикул>007</артикул><название>Блокнот</название><цена>249.90</цена><количество>2</количество><оплачен>true</оплачен></товар><комментарий/></заказ>
Результат
{
  "заказ": {
    "@id": "12345678901234567890",
    "товар": {
      "артикул": "007",
      "название": "Блокнот",
      "цена": 249.90,
      "количество": 2,
      "оплачен": true
    },
    "комментарий": null
  }
}

Настройки сервиса без префиксов пространств имён

Исходные данные
<cfg:настройки xmlns:cfg="urn:example:config"><!-- Рабочая среда --><cfg:сервис id="почта"><cfg:адрес>https://почта.example.ru</cfg:адрес><cfg:таймаут>30</cfg:таймаут></cfg:сервис></cfg:настройки>
Результат
{
    "_xmlns:cfg": "urn:example:config",
    "#comment": "Рабочая среда",
    "сервис": [
        {
            "_id": "почта",
            "адрес": [
                "https://почта.example.ru"
            ],
            "таймаут": [
                "30"
            ]
        }
    ]
}

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

Отправляется ли XML на сервер при конвертации?

XML обрабатывается в вашем браузере и не загружается на сервер. Введённый текст не сохраняется; настройки сохраняются в localStorage. Аналитика получает события использования с названием инструмента, без содержимого XML или JSON.

Почему вместо JSON появляется ошибка XML?

Конвертеру нужен корректный XML с одним корневым элементом. При ошибке результат очищается, а сообщение указывает строку и столбец; нажмите на него, чтобы перейти к проблемному месту.

Сохраняется ли порядок текста и тегов при конвертации XML в JSON?

Положение текста между дочерними элементами не сохраняется: текстовые фрагменты объединяются в один ключ. Чередующиеся элементы группируются по имени, поэтому их исходный порядок тоже может измениться; в обоих случаях инструмент показывает предупреждение.

Какой максимальный размер XML-файла?

Файлы больше 50 МБ отклоняются. Максимальная глубина вложенности — 1000 элементов; обработка также зависит от доступной памяти браузера.

Можно ли загрузить XML по ссылке или подключить внешний DTD?

Загрузка XML по URL не поддерживается. Внешние DTD и сущности не загружаются: сущность из внешнего DTD остаётся в виде &name;, и инструмент показывает предупреждение.