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

Мгновенно конвертируйте XML в JSON

XML-ввод

Параметры

JSON-вывод

Результат конвертации появится здесь...

Обзор

Конвертер XML в JSON превращает насыщенный разметкой XML — ответы SOAP, ленты RSS/Atom, устаревшие файлы конфигурации — в чистый JSON, который ваш код на JavaScript или Node.js может использовать напрямую. Инструмент работает на настоящем XML-парсере, а не на регулярных выражениях, поэтому проверяет корректность структуры (well-formedness), сообщает точную строку и столбец повреждённого тега и даёт детальный контроль над тем, как атрибуты, пространства имён и повторяющиеся элементы представлены в получившемся JSON.

Что распознаёт и обрабатывает этот конвертер
  • Настоящая валидация XML: некорректный XML (незакрытые теги, несовпадающая вложенность, неверный синтаксис атрибутов) отклоняется с точным указанием строки и столбца, а не молчаливой догадкой
  • Настраиваемая обработка атрибутов: сохранять атрибуты с префиксом (@_id), преобразовывать их в обычные свойства объекта, группировать под единым объектом $attributes или полностью отбрасывать
  • Стратегии пространств имён: сохранять префиксы пространств имён в именах тегов как есть, убирать их для более чистых ключей или сохранять URI пространства имён отдельно как метаданные
  • Очистка SOAP: автоматически удаляет обёрточные элементы Envelope/Body, характерные для ответов SOAP, оставляя только полезную нагрузку (после применения не является безопасным для обратного преобразования)
  • Управление CDATA и разбором типов: можно развернуть секции CDATA в отдельное свойство и выбрать, насколько агрессивно текст, похожий на числа или булевы значения, преобразуется в реальные типы JSON
  • Принудительные пути массивов: укажите конкретные пути через точку, например rss.channel.item, которые всегда должны становиться JSON-массивом, даже если в ленте оказался только один элемент
  • Полностью работает в браузере: ваши XML-данные никогда не загружаются на сервер
Когда конвертировать XML в JSON
  • Миграция устаревшего SOAP API на REST-эндпоинт на основе JSON, чтобы код на JavaScript или Node.js мог обрабатывать ответ без SOAP-клиента
  • Разбор ленты RSS или Atom в JSON для создания агрегатора контента или новостной панели во фреймворке на JavaScript
  • Преобразование XML-файла конфигурации, например Maven pom.xml или .NET web.config, в JSON для программного редактирования или сравнения с другими форматами конфигурации
  • Изучение объёмного XML-ответа API путём преобразования его в читаемый, отформатированный JSON во время отладки
  • Импорт экспортированных XML-данных в JSON-ориентированную базу данных, такую как MongoDB
Как конвертировать XML в JSON
  1. 1.Вставьте XML в редактор ввода или загрузите файл .xml
  2. 2.Выберите способ представления атрибутов: свойства с префиксом, обычные свойства, группировка под $attributes или полное игнорирование
  3. 3.Выберите стратегию пространств имён — сохранить, удалить или сохранить как метаданные — в зависимости от того, насколько чистыми должны быть итоговые ключи
  4. 4.Включите очистку SOAP, если вы конвертируете SOAP-конверт и вам нужна только внутренняя полезная нагрузка
  5. 5.Нажмите «Конвертировать», затем скопируйте результат в формате JSON или скачайте его как отформатированный либо минифицированный .json
Особые случаи, о которых стоит знать
  • Единственный повторяющийся дочерний элемент (один <item> вместо нескольких) не преобразуется автоматически в массив, если вы не укажете его путь в принудительных путях массивов — иначе он превращается в обычный объект, что может сломать код, ожидающий массив
  • Смешанное содержимое — элемент, содержащий одновременно текст и дочерние элементы, — разворачивается в плоскую структуру, при этом текстовая часть отображается как свойство #text рядом с ключами дочерних элементов
  • Значения, похожие на числа с ведущим нулём, например «00123», или целые числа, выходящие за пределы безопасной точности JSON, по умолчанию сохраняются как строки; включайте агрессивный разбор типов только если уверены, что данные не содержат значений, похожих на ID
  • Комментарии XML отбрасываются при конвертации, поскольку в JSON нет эквивалентной конструкции
Ограничения
  • Циклическое преобразование (XML в JSON и обратно в XML) не гарантирует побайтового воспроизведения оригинала — порядок элементов, пробелы и комментарии сохраняются не полностью, если не включён режим Round-Trip Safe, и даже он регулирует только этап XML в JSON
  • Очень большие XML-документы (десятки мегабайт) могут превысить память браузера или замедлить работу парсера — для огромных файлов используйте потоковый (SAX) парсер или инструмент командной строки, например xmlstarlet
  • Инструмент проверяет только корректность структуры, но не соответствие XSD-схеме — документ, являющийся корректным XML, но нарушающий схему, всё равно будет сконвертирован без предупреждения
Нужно конвертировать в обратную сторону?

Если вы начинаете с объекта или массива JSON и вам нужен XML — например, чтобы обратиться к устаревшему SOAP-эндпоинту или создать файл конфигурации, который ожидает инструмент, работающий только с XML, — используйте конвертер JSON в XML. Он позволяет управлять отступами, решать, должны ли ключи с префиксом @ становиться атрибутами, и подавлять пустые элементы.