Expecting value: line 1 column 1 (char 0)
JSON ডিকোড করার চেষ্টা করার সময় আমি ত্রুটি পাচ্ছি ।
আমি API টির জন্য যে URL টি ব্যবহার করি তা ব্রাউজারে দুর্দান্ত কাজ করে তবে কার্ল অনুরোধের মাধ্যমে হয়ে গেলে এই ত্রুটিটি দেয়। নীচে কোডটি আমি কার্ল অনুরোধের জন্য ব্যবহার করছি।
ত্রুটি ঘটে return simplejson.loads(response_json)
response_json = self.web_fetch(url)
response_json = response_json.decode('utf-8')
return json.loads(response_json)
def web_fetch(self, url):
buffer = StringIO()
curl = pycurl.Curl()
curl.setopt(curl.URL, url)
curl.setopt(curl.TIMEOUT, self.timeout)
curl.setopt(curl.WRITEFUNCTION, buffer.write)
curl.perform()
curl.close()
response = buffer.getvalue().strip()
return response
সম্পূর্ণ ট্রেসব্যাক:
ট্রেসব্যাক:
File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/Users/nab/Desktop/pricestore/pricemodels/views.py" in view_category
620. apicall=api.API().search_parts(category_id= str(categoryofpart.api_id), manufacturer = manufacturer, filter = filters, start=(catpage-1)*20, limit=20, sort_by='[["mpn","asc"]]')
File "/Users/nab/Desktop/pricestore/pricemodels/api.py" in search_parts
176. return simplejson.loads(response_json)
File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/simplejson/__init__.py" in loads
455. return _default_decoder.decode(s)
File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/simplejson/decoder.py" in decode
374. obj, end = self.raw_decode(s)
File "/Users/nab/Desktop/myenv2/lib/python2.7/site-packages/simplejson/decoder.py" in raw_decode
393. return self.scan_once(s, idx=_w(s, idx).end())
Exception Type: JSONDecodeError at /pricemodels/2/dir/
Exception Value: Expecting value: line 1 column 1 (char 0)
simplejson
আপনি যখন কেবল স্টডিলিব json
(যা একই লাইব্রেরিটি হিসাবেsimplejson
ব্যবহার করতে পারেন) ব্যবহার করতে পারেন কেন ?
web_fetch()
কল ব্যর্থ হয়েছে।
pycurl
। requests
একটি খুব সহজ এপিআই সরবরাহ করে, বিশেষত যখন এটি চলমান ডিবাগিংয়ের ক্ষেত্রে আসে। যতক্ষণ না আপনি বিশেষভাবে আছে এর একটি নতুন সংস্করণ আছে simplejson
গ্রন্থাগার, শুধু দিয়ে বিদ্ধ json
, আপনি পরিচালনা করতে নির্ভরশীলতার পরিমাণ সঞ্চয় হয়।
response_json
ফেরত মান .json()
? তারপরে আপনার কাছে ইতিমধ্যে ডিকোডড ডেটা রয়েছে এবং json.loads()
আর ব্যবহার করার দরকার নেই। response
এটি আপনার জন্য ডিকোড করুন
print repr(response_json)
বলছেন যা আপনাকে পাস করা হচ্ছে.loads()
?