HTTPResponse-Objekt - JSON-Objekt muss "str" sein, nicht "bytes"
Ich habe versucht, eine kleine Python-Bibliothek namens zu aktualisierenlibpynexmo mit Python 3 arbeiten.
Ich bin auf dieser Funktion festgefahren:
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
Wenn es darum geht, antwortet json mit:
TypeError: the JSON object must be str, not 'bytes'
Ich habe an ein paar Stellen gelesen, dass fürjson.load
Sie sollten Objekte übergeben (In diesem Fall einHTTPResponse
Objekt) mit a.read()
angebracht, aber es funktioniert nichtHTTPResponse
Objekte.
Ich weiß nicht, wohin ich als nächstes gehen soll, aber da mein gesamtes Skript mit 1500 Zeilen frisch in Python 3 konvertiert wurde, habe ich keine Lust, auf 2.7 zurückzukehren.