从json解析数据时出错“JSONDecodeError:Expecting value:line 1 column 1(char 0)”

时间:2017-10-22 16:46:53

标签: json python-3.x jsonparser

这是我的代码:

from urllib.request import urlopen
import json
import requests

url = 'https://production-us-adidasgroup.demandware.net/s/adidas-US/dw/shop/v15_6/products/(CQ1862)?client_id=392f521c-cf82-4c24-8ee4-97b4bfe926c5&expand=availability,variations,prices&callback=jQuery311046436681352330944_1508679685699&_=1508679685720.json'

s = requests.session()

res = s.get(url)
json_dict = res.json()

qty = json_dict['inventory']['ats']

print(qty)

我正在尝试从网址解析'ats',但一直遇到错误:

  

simplejson.scanner.JSONDecodeError:期望值:第1行第1列   (char 0)

我认为这是因为在网址中第一行没有价值。有没有办法跳过这个?我知道我没有使用我导入的一些模块。

1 个答案:

答案 0 :(得分:0)

问题是您收到的JSONP响应包含一个函数名称。如果您curl该网址,您会看到回复以/**/jQuery311046436681352330944_1508679685699({开头。这与您在网址中可以看到的值相同:callback=jQuery311046436681352330944_1508679685699

要摆脱这种情况,请从网址中删除callback参数。请改用https://production-us-adidasgroup.demandware.net/s/adidas-US/dw/shop/v15_6/products/(CQ1862)?client_id=392f521c-cf82-4c24-8ee4-97b4bfe926c5&expand=availability,variations,prices&_=1508679685720.json