Expecting value: line 1 column 1 (char 0)JSON kodunu çözmeye çalışırken hata alıyorum .
API çağrısı için kullandığım URL tarayıcıda iyi çalışıyor, ancak bir kıvrılma isteği yoluyla yapıldığında bu hatayı veriyor. Kıvrılma isteği için kullandığım kod aşağıdadır.
Hata şu konumda olur: 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
Tam Geri İzleme:
Geri iz:
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)
simplejsonstdlib'i json( aynı kütüphane ile aynısimplejson olan) kullanabileceğiniz zaman kullanalım ?
web_fetch() çağrısı başarısız oldu.
pycurl. requestsözellikle neler olup bittiğini ayıklamak söz konusu olduğunda çok daha kolay bir API sunar. Özellikle kütüphanenin daha yeni bir sürümüne sahip olmanız gerekmedikçe simplejson, sadece sadık jsonkalın, yönetme bağımlılığından tasarruf etmenizi sağlar.
response_jsondönüş değeri .json()? O zaman zaten kodu çözülmüş verileriniz var ve json.loads()artık kullanmanıza gerek yok. responsesizin için çözdüm.
print repr(response_json)size geçildiğini söyleyen.loads()nedir?