[jq] 配列から null の要素を除外する

作成日: 2026年09月13日

jq の select を使用すると、配列から null の要素を除外できます。下記の例では、null 以外の要素だけを新しい配列として取得しています。

echo '[1, null, 2, null, 3]' | jq 'map(select(. != null))'

実行結果は下記のとおりです。

[
  1,
  2,
  3
]

説明

  • select(. != null) は、要素が null ではない場合だけ通します。
  • map(...) で囲むと、条件に一致した要素を配列として返します。
  • 0false、空文字列は null ではないため、この例では除外されません。
jq