cat "$FileName" | jq --sort-keys 'map({"author_id": .author.id,"author": .author.name, "badge": .author.badges[0].title, "message", "timestamp", "time_in_seconds", "time_text"})' > "$TargetName"
如果源 JSON"time_in_seconds": null中沒有,則生成輸出。"time_in_seconds"如何消除這種情況:
- 對于這個屬性?
- 所有屬性?
uj5u.com熱心網友回復:
要洗掉一個欄位(如果是)null,請使用.time_in_seconds |= select(.).
要洗掉所有欄位,請null使用.[] |= select(.)。
map在你的末尾添加這個,如下所示:
jq 'map({…} | .[] |= select(.))'
演示
注意:這也會洗掉帶有 value 的欄位false。如果您想限制為null,請select(.)更明確并將其更改為select(. != null).
uj5u.com熱心網友回復:
要洗掉null輸入中的所有值(或任何任意條件),您可以使用recurse/0( ..) 和del/1.
del(.. | select(. == null))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/412337.html
標籤:
上一篇:如何使用串列決議JSON?
