Как преобразовать ответ Instagram API в словарь Python 3?

Я использую Python 3, чтобы получить ответ от Instagram API, используя приведенный ниже код.

 instagramJSON = xRequest(nextUrl)
 print (instagramJSON)
 instagramDict = json.load(instagramJSON)

метод xRequest получает ответ от URL-адреса API Instagram, когда я печатаю объект, он выглядит как законный объект JSON, но когда я выполняю для него метод json.load, я получаю следующую ошибку AttributeError: 'bytes' object has no attribute 'read'

Тот же код работает на Python 2, я пытался найти его в документах Python для Python3, но безуспешно. Может ли кто-нибудь помочь мне с этим?

Большое спасибо !


person BK Sarthak Das    schedule 20.02.2015    source источник
comment
Вы также можете использовать python-запросы со встроенной поддержкой JSON, просто вызовите .json() в объекте ответа.   -  person    schedule 20.02.2015
comment
Спасибо за совет Андрей, я попробовал, и это работает.   -  person BK Sarthak Das    schedule 20.02.2015


Ответы (1)


Если instagramJSON является str, то вы должны использовать json.loads вместо json.load. Если instagramJSON является строкой, то это вызовет такое же исключение в Python 2, так что может быть что-то еще.

документация Python JSON

Если это ответ, сгенерированный urllib.request, тогда лучший ответ на этот вопрос может быть актуальным.

person erik-e    schedule 20.02.2015
comment
Спасибо что подметил это. Но даже если я запускаю его с json.loads, я получаю TypeError: the JSON object must be str, not 'bytes' - person BK Sarthak Das; 20.02.2015