Здравствуйте, у меня возник такой вопрос. Пытаюсь разобраться с aiohttp.
async with aiohttp.ClientSession() as session:
async with session.get('https://api.github.com/events') as resp:
print(await resp.json())
После запроса я вывожу json ответ. но мне надо получить из него определенное значение(проводить навигацию по телу json). Подскажите как это делать. На Requests делал json.loads(resp), тут похоже по другому, а как не знаю.
Смотри, чувак, ты же не написал почему-то await print(await resp.json())То есть ты внутренне готов к тому, что некоторые вызовы могут быть не асинхронными. Так в чем же дело?
longclaps, не думаю что это обязательно. Print же сработает только тогда, когда будет готов ответ json. Смысл его дублировать? Проблема у меня не в этом. Мне надо сделать запрос, получить ответ и взять значение ключа из ответа. И я не знаю как выдернуть. Как с обычным json не выходит у меня. А print это так, для логирования типа.
longclaps, в данном случае resp.json() не словарь. Нужно сделать await чтобы получить результат, а уже там смотреть, что вам вернули. В данном случае это будет список словарей.
Muxauko, надо посмотреть на структуру json, это может быть словарик - тогда обращение по ключу, а может быть список словарей, тогда по индексу и далее по ключу