Иногда API возвращает JSON одной длинной строкой. В терминале читать такое совершенно неудобно. Самый простой способ привести всё в нормальный вид — прогнать через
jq.Например, если JSON лежит в файле:
jq . file.json
jq просто отформатирует его: разобьёт на строки и добавит отступы.Часто это используют прямо при работе с API:
curl -s https://api.github.com/repos/torvalds/linux | jq .
Так сразу видно структуру ответа.
Если нужно вытащить конкретное поле:
jq '.name' file.json
То же самое можно сделать прямо из ответа API:
curl -s https://api.github.com/repos/torvalds/linux | jq '.description'
Иногда удобно забрать сразу несколько полей:
jq '{name, description, language}' file.jsonЕсли в JSON есть массив, можно пройтись по всем элементам:
jq '.items[]' file.json
Например, вытащить из каждого объекта поле name:
jq '.items[].name' file.json
Когда нужен вывод без кавычек, пригодится флаг
-r:jq -r '.name' file.json
Это полезно, если результат дальше используется в скрипте.
Иногда ещё удобно быстро посмотреть, какие вообще пути есть в JSON:
jq 'paths' file.json
Команда покажет все доступные ключи и вложенные пути.
jq отлично вписывается в обычные shell-пайплайны. Например:curl -s https://api.example.com/users | jq -r '.users[].email'
Так можно сразу вытащить нужные данные из ответа API.
🔥 В целом
jq — один из самых удобных инструментов для работы с JSON в терминале. Если часто возишься с API или логами, он экономит кучу времени.➡️ DevOps Ready | #практика