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.

Respuestas a la pregunta(4)

Su respuesta a la pregunta