Программы
Как работать с JSON из Bash

Как работать с JSON из Bash

Как получить поле JSON ответа из Bash скрипта или оболочки

Для работы с JSON нам потребуется утилита jq – JSON query. С помошью её мы можем разбирать строки в виде JSON-структур, обращаться к отдельным полям.

В Ubuntu её можно установить с помощью apt:

sudo apt install jq

В MacOS она также имеется в Homebrew:

brew install jq

Ну и несколько примеров, чтобы понимать, как это работает:

$ curl -s https://status.github.com/api/status.json
{"status":"good","last_updated":"2018-07-20T09:55:21Z"}

– так выглядит оригинальный ответ. Просто строка.

$ curl -s https://status.github.com/api/status.json \
      | jq '.status'
"good"

– получаем текущий статус из поля status.

$ curl -s https://status.github.com/api/status.json \
      | jq --raw-output '.status,.last_updated'
good
2018-07-20T09:55:21Z

– сразу несколько полей. Как и положено, в Bash они разделены переводом строки.

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS