我想使用 jq 檢查關鍵字是否作為任何級別的 JSON 中的鍵存在。這是我想出的:
jq -c 'paths | select(.[-1]) as $p| index("headline") //empty' news.json
輸出是一個陣列:
[
6,
7,
9
]
我想將輸出陣列映射到 jq 函式any(),如果鍵存在,則總體結果為 true,否則為 false。
我怎樣才能用 jq 完成它?
uj5u.com熱心網友回復:
提供any迭代器和條件
jq 'any(paths; .[-1] == "headline")'
您還可以提供-e(or --exit-status) 選項來獲得退出狀態,0如果結果是true,1如果結果是false,可以立即在 shell 中用于進一步處理。
jq -e 'any(paths; .[-1] == "headline")'
uj5u.com熱心網友回復:
你不需要一個中間陣列。
any(paths[-1]; . == "headline")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/468884.html
上一篇:未捕獲的ReferenceError:從vuecliv4升級到v5后未定義行程
下一篇:如何在每個陣列中連接jq路徑
