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

Конвертер XML в формат JSON — Numio

Преобразует XML в JSON с помощью xml-js в компактном режиме: атрибуты попадают в _attributes, текст — в _text, а повторяющиеся соседние элементы становятся массивом. Все значения остаются строками.

Посмотреть ответ SOAP, RSS или устаревшего XML API в виде JSON перед написанием кода разбора.

XML

JSON

Когда пригодится

  • Посмотреть ответ SOAP, RSS или устаревшего XML API в виде JSON перед написанием кода разбора.
  • Извлечь значения атрибутов и текста из XML-экспорта, чтобы передать их в инструменты, работающие с JSON.

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

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

Входной XML

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item sku="A-1">Keyboard</item>
  <item sku="B-7">Mouse</item>
</order>

JSON

{
  "order": {
    "_attributes": {
      "id": "1042"
    },
    "customer": {
      "_text": "Ada Lovelace"
    },
    "item": [
      {
        "_attributes": {
          "sku": "A-1"
        },
        "_text": "Keyboard"
      },
      {
        "_attributes": {
          "sku": "B-7"
        },
        "_text": "Mouse"
      }
    ]
  }
}

Подробности и ограничения

Преобразование выполняется в браузере. Настроек нет; компактный формат фиксирован.

Элемент, встречающийся один раз, становится объектом, а дважды — массивом, поэтому форма JSON может меняться в зависимости от данных. Обрабатывайте оба варианта в коде.

XML-декларация, комментарии и CDATA сохраняются как _declaration, _comment и _cdata. Проверка по схеме (XSD) или DTD не выполняется.

Смешанное содержимое (текст вперемешку с тегами) теряет исходный порядок.

FAQ

Преобразуются ли числа и boolean в типы JSON?

Нет. Значения атрибутов и текст остаются строками, например "1042". При необходимости преобразуйте типы в своём коде.

Что будет, если мой XML некорректен?

Вместо JSON страница покажет ошибку "Invalid XML", например "unclosed tag <order>" или "Unexpected close tag (line 3, column 8)". Закрывайте каждый элемент, заключайте значения атрибутов в кавычки и экранируйте & как &amp;.

Можно ли получить JSON без ключей _text и _attributes?

Не на этой странице. Компактный формат сохраняет их, чтобы атрибуты и текст не путались. Измените структуру результата в коде после копирования.

Спецификации и справка