Python JSON — извлекать JSON из постоянно меняющейся метки?

#python #json

#python #json

Вопрос:

Допустим, мой JSON выглядит так

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

В Post метки постоянно меняются. Если бы они были стабильными, я мог бы получить значение JSON, просто выполнив это и получив заголовок

 ['payload']['references']['Post']['CONSTANT']['title']
 

введите описание изображения здесь
Но, ['CONSTANT'] или ['4c708604012f'] всегда меняется, если появляются новые сообщения, поэтому я не уверен, как я могу получить его заголовок?

Спасибо за любую помощь

Комментарии:

1. Пожалуйста, покажите фактический JSON в виде текста в вопросе, а не изображение некоторого его представления. А затем объясните, почему JSON такой; почему у вас постоянно меняющийся ключ?

2. Из вашего сообщения не похоже, что ключ изменился.

3. [v["title"] for k, v in x['payload']['references']['Post'].items()] решило бы?

4. @DroidX86 Это словарь с 10 элементами, он показал только один из них.

5. Ах, я сосредоточился на выделенном. Спасибо @Barmar

Ответ №1:

Что вам нужно сделать, это вернуть все .keys() изменяющиеся словари, а затем ссылаться на них в цикле.

 titles = []
for constant in json['payload']['references']['Post'].keys():
    titles.append(json['payload']['references']['Post'][constant]['title'])
 

Ответ №2:

Перебирать все элементы Post :

 for post in var['payload']['references']['Post'].items():
    print(post['title']
 

Вы можете собрать их все в список:

 titles = [post['title'] for post in var['payload']['references']['Post'].items()]