Lançar "grep -v null" no final do comando é bastante fácil, mas em muitas (a maioria?) situações em que estou fazendo uma consulta em um nome de campo, não quero registros em que a consulta resultaria em um não correspondência no registro.
jq 'foo | select(. == null | not)'
deve fazer o truque
Hmm, parece que seria mais simples usar uma opção de linha de comando geral para um caso de uso mais amplo e comum de não querer nulos na saída.
Alternativamente:
jq '.foo // empty
Comentários muito úteis
Alternativamente:
jq '.foo // empty