#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()]