遍历JSON查找定义的对象是否存在
谢谢你的帮助。我正在使用Python。
我在请求一个json页面,并加载它。
fooList = json.load(urllib.urlopen(
"https://path.to.json.com/request?"))
它看起来像这样:
{
"data": [
{
"foo": "2323582"
},
{
"foo": "32689023"
},
{
"foo": "125815512"
},
{
"foo": "1252015"
},
{
"foo": "12518505"
},
{
"foo": "109251907590"
},
{
"foo": "2158019258"
},
{
"foo": "2198059018"
}
]
}
我有一个定义好的对象
obj = 1252015
然后我想遍历那个列表,检查一下obj
是否在fooList
里面,并给出一个布尔值的答案。
findObj = 'This is where I need help'
预期的结果:
print findObj
True
1 个回答
3
>>> print any(x['foo']=='1252015' for x in yourJson['data'])
True
any
可以接受任何生成器 g=<generator>
,这个生成器会返回布尔值,也就是真或假。简单来说,它的意思是 g[0] 或 g[1] 或 g[2] 或 ... 或 g[N]
,也就是只要有一个返回真,就会返回真。当然,如果你不只是想查找 yourJson['data']
,那就另当别论了,你可能需要定义一个递归函数来处理。