$ curl http://b.hatena.ne.jp/entry/json/?url=http://localhost/ | \
jq '.bookmarks[] | if .user == "otsune" then . else empty end'
{
"tags": [],
"user": "otsune",
"timestamp": "2013/02/26 16:43:11",
"comment": ""
}
bookmarks
というキーに Array で各ユーザーのブックマーク情報が入っているので .bookmarks[]
フィルタで抜き出す
|
でフィルタをチェインさせる
if-then-else
でマッチさせたい条件を記述する。条件判定部のフィルタはブックマーク情報を表すオブジェクトのコンテキストで評価されるので .user
のように指定する
- マッチしたものをフィルタリングせず全部出力するには単に
.
フィルタを指定する
if-then-else
は else 節が必須だがマッチしない場合は何も出力しなくてよいので empty
を使う。空文字列などを指定するのに比べて無駄な出力を減らせる