1. ホーム
  2. json

[解決済み] jq 条件付き出力

2022-11-18 21:27:34

質問

私は jq を使ってjsonで遊んでいます。その中で条件付きで何かを印刷する方法を考えていました。

私がフィールド呼び出しに興味があるとします geo . 以下のコマンドを使用し、1つのエントリだけが geonull :

% cat all.json | jq '.geo != null' | sort | uniq -c              
   1 false
6891 true

他の項目を印刷せずに、その項目だけを印刷するにはどうしたらよいでしょうか。

のようなものを見かけませんでしたか? print のようなコマンドは、マニュアルにはありませんでした。そして、これはうまくいきません。 cat all.json | jq 'if .place == null then . end' . jq は構文エラーについて訴えました。

どのように解決するのですか?

あなたは を選択します。 関数を使用して、必要な項目のみを取得することができます。

jq 'select(.geo != null)' all.json