Как разобрать 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] 

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

Interesting Posts

объединить несколько текстовых файлов в один текстовый файл, используя python

У Python есть «частные» переменные в классах?

Как перебирать Django CHOICES в шаблоне – без использования экземпляра формы или модели

Как выполнить запрос данных в Rhythmbox

Как получить n следующих значений генератора в списке (python)

Извлечение необработанных данных из модели PowerPivot с использованием Python

Python Matplotlib зависает, когда его попросят построить второй график (после закрытия первого окна графика)

Как я могу динамически создавать методы класса для класса в python

Как передать звездочку в модуль «sh» в python?

Вывести дочерний тип с Django MTI или указать тип как поле?

Отладчик Pycharm работает на Ubuntu, но не на Windows для идентичного кода

Параллельный график координат в Matplotlib

Создание глобальной переменной в python 3 из функций

Python – Paramiko – несовместимый ssh-сервер

Сравнение скорости с Project Euler: C против Python против Erlang vs Haskell

Python - лучший язык программирования в мире.