Python 3.x 无法检查Python中是否存在复杂JSON对象的键
我有一个json数据,如:Python 3.x 无法检查Python中是否存在复杂JSON对象的键,python-3.x,Python 3.x,我有一个json数据,如: { "cse_thumbnail": [ { "width": "188", "height": "268", "src": "http://abc.dk" } ], "metatags": [ { "referrer": "origin-when-cross-origin",
{
"cse_thumbnail": [
{
"width": "188",
"height": "268",
"src": "http://abc.dk"
}
],
"metatags": [
{
"referrer": "origin-when-cross-origin",
"og:image": "http://def.dk"
}
],
"cse_image": [
{
"src": "http://ghi.dk"
}
]
}
JSON中有3个数组列表。我想在得到响应时检查相应的键是否存在:
cse_缩略图
元标记
cse_图像
我尝试了python中的所有键:值对检查(hasattr、key-in-list等),但这些检查根本不起作用
请帮助解决此问题。您可以使用中的
检查是否存在密钥
import json
with open('data.json') as thing:
data = json.load(thing)
keys = ('cse_thumbnail', 'metatags', 'cse_image')
for key in keys:
print(key in data)
您可以使用
中的检查是否有钥匙
import json
with open('data.json') as thing:
data = json.load(thing)
keys = ('cse_thumbnail', 'metatags', 'cse_image')
for key in keys:
print(key in data)
请共享您的python代码…请检查:您是否在json文件上使用了:json.loads
?可能重复的是,我使用了json.loads请共享您的python代码…请检查:您是否在json文件上使用了:json.loads
?可能重复的是,我使用json.loadsI刚刚实现了代码,它为所有代码返回了“false”:2017-06-23T11:53:41.804312+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804314+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804317+00:00应用程序[web.1]:谢谢,你的评论救了我的命。我终于修改了代码中的几行,经过两天的努力,现在终于可以工作了。JSON对象带有u_字符串。我删除了它们,现在它们可以正常工作了。我刚刚实现了代码,它为它们返回了“false”:2017-06-23T11:53:41.804312+00:00应用程序[web.1]:false 2017-06-23T11:53:41.804314+00:00应用程序[web.1]:False 2017-06-23T11:53:41.804317+00:00应用程序[web.1]:False谢谢,你的评论救了我的命。我终于修改了代码中的几行,经过两天的努力,现在终于可以工作了。JSON对象带有u_字符串。我移除了它们,现在它们工作正常了。