gpt4 book ai didi

python - 使用 Python 3 检查 JSON 键是否为空的条件语句

转载 作者:行者123 更新时间:2023-11-30 22:32:56 28 4
gpt4 key购买 nike

此内容已更新以澄清问题,以便将来更好地帮助其他人。

<小时/>

我正在尝试使用 if 语句来测试关键 classes 是否存在于使用 Python 的 JSON 结构中。使用 Python 检查 JSON 结构中是否存在某个键。我能够拿到 key ,但需要帮助找出应该是什么条件来检查它是否存在。

当键 class 存在于 JSON 结构中时,我使用以下代码成功返回它的值:

#Parameter: json_data - The JSON structure it is checking
def parse_classes(json_data):
lst = list()
if('classes' is in json_data['images'][0]['classifiers'][0]): #This doesn't work
for item in json_data['images'][0]['classifiers'][0]['classes']:
lst.append(item['class'])
else:
lst = None

return(lst)
<小时/>

示例json_data:

{"images": ["classifiers": ["classes": ["class": "street"]]]}
<小时/>

我的问题似乎在第 4 行,问题似乎是条件语句不正确。我需要对 if 语句进行哪些更改才能使其正常工作?

最佳答案

我认为你的意思是if而不是for:

def parse_classes(json_data):
lst = set()
if 'classes' in json_data['images'][0]['classifiers'][0]:
for item in json_data['images'][0]['classifiers'][0]['classes']:
lst.add(item['class'])
else:
print("")
return lst

或者防御

def parse_classes(json_data):
lst = set()
if (json_data.get('images')
and json_data['images'][0].get('classifiers')
and json_data['images'][0]['classifiers'][0].get('classes')):
for item in json_data['images'][0]['classifiers'][0].get('classes', []):
lst.add(item['class'])
return lst if lst else None

如果您想要所有图像中所有分类器中的所有

def parse_classes(json_data):
lst = set()
for image in json_data.get('images', []):
for classifier in image.get('classifiers', []):
for item in classifier.get('classes', []):
lst.add(item['class'])
return lst if lst else None

关于python - 使用 Python 3 检查 JSON 键是否为空的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45313266/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com