コマンドラインオプション
Invoking jq
- -r, –raw-output: ダブルクォートのない生の文字列を出力する。
フィルタ
Basic filters
.
: 現在のノード全てを返す
- 配列
.[<index>]
: 配列のそれぞれの値を返す。
.[]
: 配列の全ての値を返す。
- 連想配列(オブジェクト)
.[<string>]
: 指定した文字列をキーとした値を返す。
keys
: キーの配列を返す。
- フィルタをつなぐには
|
を使う。
- 条件分岐
select(boolean-expression)
- 例:
select(.private == true and .archived == true)
- 配列、オブジェクトの作成
[.private, .archived]
のようにすることで配列が作成される。
{event: .event, url: .data.url}
のようにすることでオブジェクトが作成される。
例
- ルート直下の配列を選択し、
- type == slackとなるものを選択し、
- event, urlを返す
jq '.[] | select(.type == "slack") | {event: .event, url: .data.url} ' foo.json