jqコマンドを用いることでJSONの出力で欲しいデータのみを抜き出すことが出来る。

例えば以下のようにJSONを吐き出すコマンドを実行するときのことを考える。

{
  "users": [
    {
      "id": 10000,
      "name": "user1"
    },
    {
      "id": 20000,
      "name": "user2"
    }
  ]
}

この場合idのみを抜き出したいとして、

echo '{"users":[{"id":10000,"name":"user1"},{"id":20000,"name":"user2"}]}' \
| jq .

とすると

"10000"
"20000"
echo '{"users":[{"id":10000,"name":"user1"},{"id":20000,"name":"user2"}]}' \
| jq -r '.users[].id'

とすると

10000
20000

とダブルクォーテーションなしで抜き出すことができる。

関連記事