как вывести опеделенные данные json в Pyton?

Рейтинг: -2Ответов: 2Опубликовано: 08.02.2023

Я делаю запрос. Получаю следующее

{'status': 200, 'body': {'objects': [{'status': 0, 'name': 'file_0', 'persons': [{'tag': 'person53281', 'coord': [231, 478, 626, 997], 'confidence': 0.99996, 'awesomeness': 0.5136, 'similarity': 0.9975, 'sex': 'male', 'emotion': 'Neutral', 'age': 26, 'valence': -0.0096, 'arousal': -0.0235, 'frontality': 0.9702, 'visibility': 0.9994}]}]}, 'htmlencoded': False, 'last_modified': 0}

Как мне из этого получать только persons ( а точнее person53281) это id пользователя.

for object in take:
     print(object['person'])

я думаю что это должно примерно делаться так.

введите сюда описание изображения

Ответы

▲ 1Принят
d={'status': 200, 'body': {'objects': [{'status': 0, 'name': 'file_0', 'persons': [{'tag': 'person53281', 'coord': [231, 478, 626, 997], 'confidence': 0.99996, 'awesomeness': 0.5136, 'similarity': 0.9975, 'sex': 'male', 'emotion': 'Neutral', 'age': 26, 'valence': -0.0096, 'arousal': -0.0235, 'frontality': 0.9702, 'visibility': 0.9994}]}]}, 'htmlencoded': False, 'last_modified': 0}
   
print(d['body']['objects'][0]['persons'][0]['tag'])

Вывод:

person53281
▲ 0

Вот такой вариант :

def get_tag_value(json_file):
    data = json.loads(json_file)
    for obj in data['body']['objects']:
        for person in obj['persons']:            
            return person['tag']

    return None