🖥

#jq コマンドで結果が空配列の場合に何も出力しない例

2019/03/29に公開

問題

空配列がそのまま標準出力されてしまう。

$ echo '[]' | jq '.'
[]

解決

$ echo '[]' | jq 'select(length > 0)'

配列の中身があっても大丈夫

$ echo '[1,2,3]' | jq 'select(length > 0)'
[
  1,
  2,
  3
]

ダメな例

以下の書き方だと中身がある場合に配列が崩れてしまう。

$ echo '[1,2,3]' | jq '.[]'
1
2
3

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/981

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-03-29

Discussion