Как конвертировать XML в JSON в командной строке – CloudSavvy IT

XML
Shutterstock / VectorV

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

Используйте утилиту xq

Вы захотите использовать для этого специальную утилиту, а не пытаться анализировать ее с помощью чего-то вроде регулярного выражения, что плохая идея, Есть утилита под названием xq это идеально подходит для этой задачи. Он установлен рядом yq, который работает для YAML. Вы можете установить yq из пипа:

pip install yq

Под капотом эта утилита использует jq для работы с JSON, поэтому вам нужно скачать бинарный файл, и перенести его куда-нибудь на свой путь/usr/local/bin/ должно работать нормально).

Теперь вы сможете анализировать входные данные XML, отправив их в xq:

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

cat xml | xq .

. оператор означает, что вы хотите конвертировать все XML в JSON. Вы действительно можете использовать полный jq Синтаксис здесь, чтобы выбрать подэлементы, которые вы можете прочитать в нашем руководстве.

Вы также можете вывести xqОтвет в виде XML с -x флаг:

xq -x

Это позволяет вам использовать jqSelection синтаксис выбора для синтаксического анализа XML при сохранении его в форме XML. Хотя кажется, что он не может преобразовать другой путь, xq все еще хочет синтаксис XML в.

Одна проблема с преобразованием XML в JSON

XML в JSON не является идеальным преобразованием – в XML порядок элементов может иметь значение, а ключи могут дублироваться. Документ как:


  some
  textual
  content

Произошла бы ошибка, если бы она была переведена напрямую в JSON, потому что a Ключ существует дважды. Итак, он конвертируется в массив, который нарушает порядок. xq возвращает следующий вывод для этого бита XML:

{
  "e": {
    "a": [
      "some",
      "content"
    ],
    "b": "textual"
  }
}

Что технически правильно, просто не идеально во всех ситуациях. Вы захотите перепроверить и убедиться, что у конвертации XML нет проблем.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *