पायथन 3 के साथ मैं एक URL से एक json दस्तावेज़ का अनुरोध कर रहा हूँ।
response = urllib.request.urlopen(request)
response
वस्तु के साथ एक फ़ाइल जैसी वस्तु है read
और readline
तरीकों। आम तौर पर एक JSON ऑब्जेक्ट को टेक्स्ट मोड में खोली गई फ़ाइल के साथ बनाया जा सकता है।
obj = json.load(fp)
मैं क्या करना चाहूंगा:
obj = json.load(response)
यह हालांकि काम नहीं करता है क्योंकि urlopen बाइनरी मोड में एक फ़ाइल ऑब्जेक्ट देता है।
चारों ओर एक काम है:
str_response = response.read().decode('utf-8')
obj = json.loads(str_response)
लेकिन यह बुरा लगता है ...
वहाँ एक बेहतर तरीका है कि मैं एक बाइट फ़ाइल ऑब्जेक्ट को एक स्ट्रिंग फ़ाइल ऑब्जेक्ट में बदल सकता हूं? या मैं किसी भी पैरामीटर याद कर रहा हूँ urlopen
या json.load
एक एन्कोडिंग देने के लिए?