[英]Extracting matched child json from a nested JSON object with jq
給定一個JSON對象數組:
{
"header" : {
"user" : "baskar"
},
"requests" : [ {
"first_name" : "mike",
"last_name" : "mat"
}, {
"first_name" : "mike1",
"last_name" : "mat"
} ],
"check" : [ "Y" ]
}
我想根據條件從嵌套請求中提取鍵/值的子集,同時保持外部對象的其他屬性不變,產生如下內容:當我搜索first_name ='mike'時
{
"header" : {
"user" : "baskar"
},
"requests" : [ {
"first_name" : "mike",
"last_name" : "mat"
} ],
"check" : [ "Y" ]
}
我嘗試了以下的事情,
[.requests[] | select(.first_name == "mike")]
但是,它給出了匹配請求的子集,但沒有返回header和check元素。
我確信必須有一個相當簡單的方法來實現這一點與jq。 幫助贊賞。
您需要通過過濾更新請求數組來考慮它。
這應該工作:
.requests |= map(select(.first_name == "mike"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.