jq Conditional output

I'm using jq to play with json. I was wondering how to conditionally print something in that.

Say I am interested in a field call geo. I used the following command and find out there is only one entry whose geo is null:

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

How can I print out that entry only without printing everything else?

Didn't see something like print command in the manual. And this doesn't work: cat all.json | jq 'if .place == null then . end'. jq complained about syntax error.


Solution 1:

You can use the select function to get only required entries:

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