← Все гайды

Конвертер XML в JSON онлайн

· 2 мин чтения

XMLJSON

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

XML-выгрузку часто нужно обработать инструментами для JSON или передать в REST API. Конвертер переводит документ по распространённому соглашению, которое понимают большинство библиотек.

Как преобразовать

  1. Откройте документ в редакторе XML.
  2. Выберите Файл → Преобразовать в → JSON.
  3. В окне — предпросмотр результата. Его можно скачать, открыть в песочнице JSON или сохранить новым артефактом в проект.
Предпросмотр JSON, полученного из XML
Результат преобразования XML в JSON

Правила преобразования

XMLJSON
<order id="42">{"order": {"@id": 42}} — атрибуты с префиксом @
<item>a</item><item>b</item>"item": ["a", "b"] — повторы становятся массивом
<total currency="RUB">10</total>"total": {"@currency": "RUB", "#text": 10}
<note/>"note": null
  • Числа и true/false распознаются по тексту — в XML без схемы нет типов.
  • Префиксы пространств имён остаются в именах ("soap:Body").
  • Комментарии и инструкции обработки не переносятся.

Ограничения

  • Элемент, который в одном документе встречается один раз, а в другом — несколько, получит разные формы (значение и массив). Если JSON будут читать программно, учтите это.
  • Значения вида «0012» станут числом 12 — проверьте коды и идентификаторы.
  • Порядок разных элементов внутри родителя в JSON не значим.

Обратное направление — «Конвертер JSON в XML»: те же соглашения работают в обе стороны.

Пример

<order id="42">
  <item>a</item>
  <item>b</item>
  <total currency="RUB">10.5</total>
</order>

превращается в

{
  "order": {
    "@id": 42,
    "item": ["a", "b"],
    "total": {"@currency": "RUB", "#text": 10.5}
  }
}

Вопросы и ответы

Как избавиться от префиксов «@»? После преобразования откройте результат в редакторе JSON и замените "@ на " через панель поиска и замены (Ctrl+F) — если имена атрибутов и элементов не совпадают.

Можно ли получить JSON сразу по схеме, с правильными типами? Конвертер не использует XSD. Если типы важны, сначала получите JSON Schema из XSD (гайд) и проверьте по ней результат — расхождения покажут, где поправить типы.

SOAP-ответ — как достать только тело? Преобразуйте весь конверт и возьмите содержимое soap:Envelope → soap:Body.