Как разобрать JSON с несколькими ключами одинаково?

У меня есть json, который напоминает это:

{"posts":[{"no":3919193, "p": "kekekekek"}, {"no":3929342, "p": "trololol"}]} 

Я хочу извлечь все, что имеет ключ «нет», как бы я это сделал?

Я знаю, что могу использовать json.load для разбора, но я не уверен, как получить доступ к каждому значению. Заранее спасибо!

2 Solutions collect form web for “Как разобрать JSON с несколькими ключами одинаково?”

Вы могли бы использовать понимание списка для прокрутки dicts в obj['posts'] :

 obj = json.load(...) [dct for dct in obj['posts'] if 'no' in dct] 

Например,

 >>> import json >>> obj = json.loads('''{"posts":[{"no":3919193, "p": "kekekekek"}, {"no":3929342, "p": "trololol"}]}''') >>> [dct for dct in obj['posts'] if 'no' in dct] [{u'no': 3919193, u'p': u'kekekekek'}, {u'no': 3929342, u'p': u'trololol'}] 

После использования json.load вас будет словарь, единственный ключ которого относится к списку словарей:

 data = json.loads("""{"posts":[{"no":3919193, "p": "kekekekek"}, {"no":3929342, "p": "trololol"}]}""") nos = [i for i in data['posts'] if 'no' in i] 

Конечно, каждый элемент списка в вашем примере удовлетворяет вашему требованию, чтобы у объекта был ключ «нет».

  • Импортирование ошибочно конкатенированных JSON в python
  • Кодер Python NaN JSON
  • Как удалить пробелы и символы новой строки из каждого значения в файле JSON?
  • Как я могу разобрать JSON в Google App Engine?
  • json.loads () возвращает объект unicode вместо словаря
  • scrapy от выхода скрипта в json
  • Преобразование данных Json в Python DataFrame
  • структурированный язык запросов для JSON (в Python)
  • Проверьте, существует ли JSON (свойство объекта) и печатается в виде декодирования в формате Unicode
  • преобразовать строку json в объект python
  • Могу ли я использовать данные JSON для добавления новых объектов в Django?
  • Python - лучший язык программирования в мире.