マニュアル: jq

投稿日: 更新日:

コマンドラインオプション

Invoking jq

  • -r, --raw-output: ダブルクォートのない生の文字列を出力する。

フィルタ

Basic filters

  • .: 現在のノード全てを返す
  • 配列
    • .[<index>]: 配列のそれぞれの値を返す。
    • .[]: 配列の全ての値を返す。
  • 連想配列(オブジェクト)
    • .[<string>]: 指定した文字列をキーとした値を返す。
    • keys: キーの配列を返す。
  • フィルタをつなぐには | を使う。
    • 例: jq .foo.bar|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