Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json jq筛选具有特定值的对象并获取父对象的Id_Json_Filter_Jq - Fatal编程技术网

Json jq筛选具有特定值的对象并获取父对象的Id

Json jq筛选具有特定值的对象并获取父对象的Id,json,filter,jq,Json,Filter,Jq,嗨,我在和jq打比赛,有点问题 这是我的数据: { "auctionInfo": [{ "tradeId": 229143000306, "itemData": { "id": 320854114832, "rating": 82 } }, { "tradeId": 229143000307,

嗨,我在和jq打比赛,有点问题

这是我的数据:

{
    "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'