पायथन 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एक एन्कोडिंग देने के लिए?