Con Python 3 sto richiedendo un documento JSON da un URL.
response = urllib.request.urlopen(request)
L' response
oggetto è un oggetto simile a un file con read
e readline
metodi. Normalmente un oggetto JSON può essere creato con un file aperto in modalità testo.
obj = json.load(fp)
Quello che vorrei fare è:
obj = json.load(response)
Ciò tuttavia non funziona poiché urlopen restituisce un oggetto file in modalità binaria.
Una soluzione è ovviamente:
str_response = response.read().decode('utf-8')
obj = json.loads(str_response)
ma questo sembra male ...
Esiste un modo migliore per trasformare un oggetto file byte in un oggetto file stringa? O mi manca qualche parametro per uno urlopen
o json.load
per dare una codifica?