Json jq筛选具有特定值的对象并获取父对象的Id
嗨,我在和jq打比赛,有点问题 这是我的数据:Json jq筛选具有特定值的对象并获取父对象的Id,json,filter,jq,Json,Filter,Jq,嗨,我在和jq打比赛,有点问题 这是我的数据: { "auctionInfo": [{ "tradeId": 229143000306, "itemData": { "id": 320854114832, "rating": 82 } }, { "tradeId": 229143000307,
{
"auctionInfo": [{
"tradeId": 229143000306,
"itemData": {
"id": 320854114832,
"rating": 82
}
},
{
"tradeId": 229143000307,
"itemData": {
"id": 320854114833,
"rating": 84
}
},
{
"tradeId": 229143000308,
"itemData": {
"id": 320854114834,
"rating": 84
}
}
]
}
我现在想要的是评级为84的alle TradeID
所以我试着用这个过滤器:
| jq -r .auctionInfo[].itemData | select(.rating==84)
但是有了这个过滤器,我就在itemData中,无法访问我感兴趣的tradeId。我对jq不是很熟悉,所以这可能是一个基本的问题,但我如何才能从我使用此过滤器的位置访问tradeId?我认为您需要做的就是如下所示。逻辑是您需要列出所有数组对象,过滤评级值以获得子集,并为这些对象打印
tradeId
jq '.auctionInfo[] | select(.itemData.rating == 84).tradeId'