У меня есть файл json, созданный функцией.
Файл выглядит так:
{
"images": [
{
"image": "/WATSON/VISUAL-REC/../IMAGES/OBAMA.jpg",
"classifiers": [
{
"classes": [
{
"score": 0.921,
"class": "President of the United States",
"type_hierarchy": "/person/President of the United States"
},
{
"score": 0.921,
"class": "person"
},
{
"score": 0.73,
"class": "ivory color"
},
{
"score": 0.648,
"class": "Indian red color"
}
],
"classifier_id": "default",
"name": "default"
}
]
}
],
"custom_classes": 0,
"images_processed": 1
}
Я написал функцию, которая будет проверять, присутствует ли значение «человек». Если значение "человек" присутствует, я буду увеличиваться на
#LOADING MY JSON FILE
output_file = open(new_json_file).read()
output_json = json.loads(output_file)
#SETTING PERSON VALUE TO 0
person = 0
#CONDITIONS
if "person" in output_json["images"][0]["classifiers"][0]["classes"][0]["class"] :
person=1
print (' FUNCTION : jsonanalysis // step There is a person in this image')
return person
else :
person = 0
print (' FUNCTION : jsonanalysis // step There is a NO person in this image')
return person
Я предполагаю, что это неправильный способ проверить, возвращается ли значение «человек» в ключе JSON, поскольку оно не находит значение. Что мне здесь не хватает?
Я просмотрел некоторые подобные темы и попытался адаптировать свою функцию:
Разбор значений из файла JSON с использованием Python?
Найти значение во вложенном словаре json в python
Но моя проблема - это ключ «класс». Существует несколько значений для ключа «класс» (например, «цвет слоновой кости»), а не только «человек».