Objeto HTTPResponse - o objeto JSON deve ser str, não 'bytes'
Eu tenho tentado atualizar uma pequena biblioteca Python chamadalibpynexmo para trabalhar com o Python 3.
Eu estive preso nesta função:
def send_request_json(self, request):
url = request
req = urllib.request.Request(url=url)
req.add_header('Accept', 'application/json')
try:
return json.load(urllib.request.urlopen(req))
except ValueError:
return False
Quando se trata disso, o json responde com:
TypeError: the JSON object must be str, not 'bytes'
Eu li em alguns lugares que parajson.load
você deve passar objetos (neste caso, umHTTPResponse
objeto) com um.read()
anexado, mas não funcionaHTTPResponse
objetos.
Estou sem saber o que fazer com isso a seguir, mas, como todo o meu script de 1500 linhas foi recentemente convertido para Python 3, não sinto vontade de voltar para o 2.7.