[Bash] Read and Use JSON in Bash with jq

jq

Bash, unfortunately, doesn’t ship with a command that can work with JSON natively. In this lesson, we’ll learn how to read and do basic queries on JSON with jq, an installable command line tool that makes working with JSON in bash really easy. We'll pipe the JSON output of the Github API to jq to extract values.

Note: jq has to be installed. On macOS, the easiest way to do this is to run brew install jq. To view install instructions for all platforms, see https://stedolan.github.io/jq/download/.

Install

brew install jq

Usage

echo '{"foo": 123}' | jq '.foo' ## access foo's value, print 123
echo '{"a": {"b": 123}}' | jq '.a.b' ## 123

Example

curl -s https://api.github.com/repos/facebook/react | jq '.stargazers_count'

Array

echo '[1,2,3]' | jq '.[]'
## 1
## 2
## 3
echo '[{"id": 1}, {"id": 2}]' | jq '.[].id'
## 1
## 2

Example

curl -s https://api.github.com/search/repositories?q=service+worker | jq '.items[].name'
posted @ 2021-02-11 21:48  Zhentiw  阅读(55)  评论(0编辑  收藏  举报