Как обрабатывать json в командной строке

Какой-нибудь инструмент для работы с json в командной строке был бы удобен при отладке REST API. Можно делать запрос, получать ответ и сразу же разбирать его, выделяя нужные объекты и поля.

Рассмотрим утилиту для работы с json из командной строки под названием jq, которая делает именно то, что нам нужно. С её помощью можно разбирать, фильтровать, сопоставлять и преобразовывать json-данные без лишних усилий.

Для установки на Linix можно просто скачать бинарники (есть 32 и 64 битные версии):

Есть также сборки и для Windows и Mac OS X. Полный исходный код распространяется по лицензии MIT.

Рассмотрим примеры. Допустим, у нас есть следующая json-схема.

Получим простое поле:

Теперь чуть сложнее, со вложенностью:

Для массивов:

Выборка конкретного списка полей:

Перевод статьи «How to parse JSON string via command line on Linux»