第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSONDecodeError:預(yù)期值:第1行第1列(字符0)

JSONDecodeError:預(yù)期值:第1行第1列(字符0)

阿晨1998 2019-11-25 15:38:03
Expecting value: line 1 column 1 (char 0)嘗試解碼JSON 時出現(xiàn)錯誤。我用于API調(diào)用的URL在瀏覽器中可以正常工作,但是通過curl請求完成時會出現(xiàn)此錯誤。以下是我用于curl請求的代碼。錯誤發(fā)生在 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)
查看完整描述

3 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

總結(jié)評論中的對話:


無需使用simplejson庫,Python作為json模塊包含了相同的庫。


無需解碼從UTF8到unicode的響應(yīng),simplejson/ json .loads()方法可以本地處理UTF8編碼的數(shù)據(jù)。


pycurl有一個非常古老的API。除非您有特定的使用要求,否則會有更好的選擇。


requests提供最友好的API,包括JSON支持。如果可以,將您的通話替換為:


import requests


return requests.get(url).json()


查看完整回答
反對 回復(fù) 2019-11-25
?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

檢查響應(yīng)數(shù)據(jù)主體,是否存在實際數(shù)據(jù)并且數(shù)據(jù)轉(zhuǎn)儲的格式是否正確。


在大多數(shù)情況下,您的json.loads- JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯誤是由于:


非JSON引用

XML / HTML輸出(即以<開頭的字符串),或

不兼容的字符編碼

最終,錯誤告訴您字符串在第一位置已經(jīng)不符合JSON。


因此,如果盡管乍一看具有看起來像JSON的數(shù)據(jù)主體,但解析仍然失敗,請嘗試替換數(shù)據(jù)主體的引號:


import sys, json

struct = {}

try:

  try: #try parsing to dict

    dataform = str(response_json).strip("'<>() ").replace('\'', '\"')

    struct = json.loads(dataform)

  except:

    print repr(resonse_json)

    print sys.exc_info()

注意:數(shù)據(jù)中的引號必須正確轉(zhuǎn)義


查看完整回答
反對 回復(fù) 2019-11-25
  • 3 回答
  • 0 關(guān)注
  • 1993 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號