Python:在没有迭代的情况下在json obj中查找元素

时间:2014-01-15 04:00:32

标签: python json

是否可以检查json中是否存在特定元素而不迭代它?例如,在以下json数据中,我想检查值appid是否存在4000。我需要处理数百个类似的json数据集,因此需要快速有效。

{
    "response": {
        "game_count": 62,
        "games": [
            {
                "appid": 10,
                "playtime_forever": 15
            },
            {
                "appid": 20,
                "playtime_forever": 0
            },

            ...

            {
                "appid": 4000,
                "playtime_2weeks": 104,
                "playtime_forever": 21190
            }
        ]
    }
}

1 个答案:

答案 0 :(得分:0)

相关对象包含在数组中,所以不,没有迭代就无法找到它。可以按摩数据以使用appid作为包含游戏作为值的对象的键,但这需要额外的预处理。

但是,可以设计解析器,以便在解析时立即提取适当的数据。这将在解析器本身内捎带迭代,而不是事后的显式代码。请参阅解析器的object_hook参数。