2017-10-10 36 views
1

我正在JSON下面。如何使用Jq解析器從JSON數組中篩選和選擇一個對象

{ 
    "foo": { 
    "id": c, 
    "name" : "cat" 
    } 
} 
{ 
    "foo": { 
    "id": b, 
    "name" : "boy" 
    } 
} 
{ 
    "foo": { 
    "id": "a", 
    "name" : "apple" 
    } 
} 


{ 
    "foo": { 
    "id": "bar", 
    "name" : "hello-json" 
    } 
} 

使用JSON解析器jq,我怎麼能只選擇JSON對象,其ID與bar匹配。因此,在上述情況下O/P將是: -

{ 
    "foo": { 
    "id": "bar", 
    "name" : "hello-json" 
    } 
} 

回答

1

您可以使用下面的查詢使用過濾掉對象和打印只有那些符合您的條件。

cat "your-json-file-name" | jq ‘select(.foo.id == "bar")’