抄了同学的作业,
def fetch_data(url): with request.urlopen(url) as f: return json.loads(f.read().decode('utf-8'))
老是报错。
更换了url地址,用的是URL = 'https://news.sina.com.cn/'。自己做测试,
发现f.read().decode('utf-8'),可以正常返回数据,类型为<class 'str'>
但是加上json.loads()后,就报错:JSONDecodeError: Expecting value: line 1 column 1 (char 0)
就是找不出原因。网上搜了半天也没找出解决办法。
是JSON序列化没学好么?
将URL换成这个:URL = 'http://www.httpbin.org/get'
就可以用json.loads()了。
怎么回事?
你的网址响应返回的不是json格式的数据吧
Sign in to make a reply
用户7296618635
抄了同学的作业,
老是报错。
更换了url地址,用的是URL = 'https://news.sina.com.cn/'。自己做测试,
发现f.read().decode('utf-8'),可以正常返回数据,类型为<class 'str'>
但是加上json.loads()后,就报错:JSONDecodeError: Expecting value: line 1 column 1 (char 0)
就是找不出原因。网上搜了半天也没找出解决办法。
是JSON序列化没学好么?