2017-10-10 23 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")’