Здравствуйте, подскажите про json
Короче в json ответе от сервера может стоять значение ключа json а может и не стоять. В итоге python первые значения показывает, а потом когда ключа нету, выдает ошибку и прекращает работу. А мне надо чтобы просто пропускалось если нету значения.
data = response.json()
# Узнаем кол-во друзей
count = data['response']['count']
print(f"Количество друзей: \n{count} \n")
print("Дата пользователя ")
for item in data['response']['items']:
print(item['bdate'])
Ответы (3 шт):
Автор решения: R1senDev
→ Ссылка
Из вопроса не совсем понятно, какие именно объекты являются опциональными. Вот надёжное решение:
data = response.json()
# Узнаем кол-во друзей
try:
count = data['response']['count']
print(f"Количество друзей: \n{count} \n")
except KeyError:
pass
try:
for item in data['response']['items']:
print(f"Дата пользователя\n{item['bdate']}")
except KeyError:
pass
Готов ответить на вопросы :)
Автор решения: Сергей Кох
→ Ссылка
Так как data = response.json() возвращает словарь
print(type(data))
<class 'dict'>
Вы можете, при получении значений, использовать метод get(), который при отсутствии ключа возвращает значение по умолчанию.
Автор решения: CrazyElf
→ Ссылка
Можно прямо проверять наличие ключа через in:
for item in data['response']['items']:
if 'bdate' in item:
print(item['bdate'])