繁体   English   中英

使用 Python 查找 JSON 中特定部分的值

[英]Find the value of at a specific part in JSON with Python

我有这样的代码:

myvar0 = jsonfromapi['people']['young']['data'][0][information][isreal]
myvar1 = jsonfromapi['people']['young']['data'][1][information][isreal]
myvar2 = jsonfromapi['people']['young']['data'][2][information][isreal]

print(myvar0)
print(myvar1)
print(myvar2)

Output:

true
false
false

现在 JSON 包括很多“人”。 但每次只有一个是真实的。 我的目标是只打印来自真实数据的数据。 在我上面的例子中 0。不幸的是,真正的变化。 有时是 0 是真的,有时是 1 有时是 2。我怎样才能只得到真实的那一个,并从这个真实的那得到更多的数据? 例如,当 2 为真时: myvar2 = jsonfromapi['people']['young']['data'][2][information][name]但没有 1 和 0 的名称。

编辑:每次只有一个人是真实的/真实的。

假设您使用 Python,您可能应该遍历jsonfromapi['people']['young']['data']中的列表。

real_person = None
for I, _ in enumerate(jsonfromapi['people']['young']['data']):
    if jsonfromapi['people']['young']['data'][i][information][isreal]:
        real_person = jsonfromapi['people']['young']['data'][i]

最后,您可以检查real_person是否不是None以确保至少有一个真人。 如果有超过 1 个实数,那么这将返回找到的最后一个。 要检索第一个,您应该在if检查之后添加一个break 如果你想得到所有真实的人,你可以创建一个列表和 append 那里的一切。 希望这能回答你的问题。

由于只有一个人具有true的价值,您可以简单地执行以下操作:

real_person = next(data for data in jsonfromapi['people']['young']['data'] if data[information][isreal])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM