由于“预期的字符串或缓冲区”,无法使用json.loads()

时间:2018-01-24 09:32:16

标签: python json typeerror

我一直试图从这个api响应中拉出一点点。

我的代码:

payload = {
    'symbol':'RPX-ETH',
    'from':'100603756',
    'to':'9516619507'
}
request = requests.get('https://api.kucoin.com/v1/open/chart/history', 
params=payload)
jdata = json.loads(request)
print jdata['c']

但是我一直收到这个错误:

TypeError: expected string or buffer

api响应仅使用.json()作为参考:

{u'c': [0.00024, 0.000171, 0.000163, 0.000151, 0.000159, 0.000164}

2 个答案:

答案 0 :(得分:3)

request是整个请求响应对象。您需要通过request.body

但是根本没有必要这样做,因为request.json()为你做了这件事并返回一个解析过的Python数据结构。

答案 1 :(得分:2)

您可以使用 request.json 以字典的形式访问返回数据。

替换

jdata = json.loads(request)
print jdata['c']

使用

jdata = request.json() 
print jdata['c']