2016-02-04 37 views
3

輸入排除對象:JQ:與指定鍵

{ 
    "name":"JSON", 
    "good":true, 
    "target":"yes" 
} 
{ 
    "name":"XML", 
    "good":false 
} 

我想排除對象,而關鍵的 「目標」,如下圖,但至今:

jq -r ".| select(has(\"target\"))" 

預期輸出:

{ 
    "name":"XML", 
    "good":false 
} 

試過這個:

jq -r " . | del(select(has(\"target\")))" 

但有兩個返回的對象,他們中的一個NULL

null 
{ 
    "good": false, 
    "name": "XML" 
} 

回答

2

選擇誰做target;這樣,你就不用del

jq -r 'select(has("target") | not)' 
+0

這就是我所需要的。謝謝! – LPby