Mit Python 3 fordere ich ein JSON-Dokument von einer URL an.
response = urllib.request.urlopen(request)
Das responseObjekt ist ein dateiähnliches Objekt mit readund readlineMethoden. Normalerweise kann ein JSON-Objekt mit einer im Textmodus geöffneten Datei erstellt werden.
obj = json.load(fp)
Was ich tun möchte ist:
obj = json.load(response)
Dies funktioniert jedoch nicht, da urlopen ein Dateiobjekt im Binärmodus zurückgibt.
Eine Umgehung ist natürlich:
str_response = response.read().decode('utf-8')
obj = json.loads(str_response)
aber das fühlt sich schlecht an ...
Gibt es eine bessere Möglichkeit, ein Byte-Dateiobjekt in ein String-Dateiobjekt umzuwandeln? Oder fehlen mir Parameter für eine urlopenoder json.loadeine Kodierung?