@Ap3o

Как проверить в JSON наличие определенного поля?

Как проверить в JSON наличие определенного поля?
К примеру JSON может быть таким:
{
'type': 'message_new',
'object' : '...'
}

А в другой раз может быть таким:
{
'type': 'message_new',
'object' : '...'
action { 'type': ' ...' } 
}

Как узнать, что в JSON есть action?
  • Вопрос задан
  • 5942 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
data = {
    'type': 'message_new',
    'object' : '...'
}

if 'action' in data:
    ...
else:
    ...

P.S. У вас в примерах не JSON, а словари. Во втором случае ещё и не валидный словарь.
Ответ написан
Комментировать
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
так
'action' in json.loads(<строка с json>)

>>> a = '{"type": "message_new", "object": null}'
>>> b = '{"type": "message_new", "object": null, "action":{"type": null}}'
>>> 'action' in json.loads(a)
False
>>> 'action' in json.loads(b)
True
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы