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

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

Преобразуйте XML в JSON — документ, фид или ответ API — чтобы использовать данные в JavaScript или любом современном API. Атрибуты и текст сохраняются, поэтому JSON можно преобразовать обратно в тот же XML.

Работает в браузере — введённые данные никуда не загружаются

XML → JSON
Результат (JSON)

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

  1. Вставьте XML или нажмите «Загрузить пример».
  2. Выберите, нужно ли преобразовывать числа и логические значения.
  3. Скопируйте JSON или скачайте его.

Описание параметров

Атрибуты
Атрибут вроде id="bk101" становится ключом "@id". Текст рядом с атрибутами попадает в "#text".
Повторяющиеся элементы
Элементы, которые встречаются больше одного раза у одного родителя, становятся массивом JSON; единственный элемент остаётся объектом.
Преобразовывать числа и логические значения
Если опция включена, 44.95 становится числом, а true — логическим значением. Отключите её, чтобы коды вроде 00123 сохранились в точности как написаны.

Пример

Этот XML с объявлением и комментарием:

<?xml version="1.0"?>
<!-- c -->
<catalog>
  <book id="bk101" in_stock="true">
    <title>XML Guide</title>
    <price currency="USD">44.95</price>
    <tag>a</tag><tag>b</tag>
    <isbn>00123</isbn>
  </book>
</catalog>

превращается в такой JSON при включённом параметре «Преобразовывать числа и логические значения»:

{
  "catalog": {
    "book": {
      "title": "XML Guide",
      "price": {
        "#text": 44.95,
        "@currency": "USD"
      },
      "tag": [
        "a",
        "b"
      ],
      "isbn": 123,
      "@id": "bk101",
      "@in_stock": true
    }
  }
}

Атрибуты перечисляются после дочерних элементов. Объявление и комментарий исчезают, а tag стал массивом, потому что встречается дважды. При выключенном параметре 44.95 остаётся “44.95”, isbn остаётся “00123”, а атрибут становится текстом “true”. Параметр влияет как на значения атрибутов, так и на текст элементов.

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

Что происходит с комментариями и XML-декларацией?

Они отбрасываются, потому что в JSON для них нет места. Данные элементов и атрибутов сохраняются.

Почему список иногда становится объектом, а не массивом?

XML не указывает, может ли элемент повторяться. Если элемент встречается один раз, конвертер не может знать, что это список, и создаёт объект.

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

Будет показана первая ошибка с номером строки, например закрывающий тег, который не совпадает с открывающим.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты