項目拖放我有一個JSON文件,它看起來像這樣(粗略模式):JQ:選擇不從陣列
[{
"custom_variables": [
{
"name": "xxx",
"value": "xxx"
},
{
"name": "xxx",
"value": "xxx"
},
{
"name": "profile_id",
"value": "123"
}
],
// many fields
"xxx": "xxx",
"xxx": "xxx",
"xxx": "xxx"
}]
我使用JQ提取從頂層對象中的所有領域。 custom_variables字段構成一個包含名稱和值的對象數組。
我想從custom_variables中提取一個特定的對象,並給定它的名字。
所以我在做什麼是這樣的:
jq 'map(
{
xxx: .xxx,
xxx: .xxx,
xxx: .xxx,
xxx: .custom_variables | .[] | select(.name == "variable_name")
}
)'
它幾乎工程;它獲取我想要的變量,但當它不存在時(或者如果custom_variables本身不),它將刪除整個頂級對象。所以最後我得到了更少的對象,然後我把腳本放進去了。
我如何才能返回null如果我沒有找到該字段,但仍然保留其餘的數據?