Objeto HTTPResponse: el objeto JSON debe ser str, no 'bytes'
He estado tratando de actualizar una pequeña biblioteca de Python llamadalibpynexmo para trabajar con Python 3.
Me he quedado atrapado en esta función:
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
Cuando llega a esto, json responde con:
TypeError: the JSON object must be str, not 'bytes'
Leí en algunos lugares que parajson.load
debe pasar objetos (en este caso, unHTTPResponse
objeto) con un.read()
adjunto, pero no funciona enHTTPResponse
objetos.
No sé a dónde ir con esto a continuación, pero dado que todo mi script de 1500 líneas se ha convertido recientemente a Python 3, no tengo ganas de volver a 2.7.