我使用 Bitmex API 的请求,我试图从 get 请求中获取 lastPrice 值。我将响应存储到一个变量中,尝试了几种方法来提取 lastPrice 值,包括 print(value[1]) print(value['lastPrice'],所有这些都不起作用,我已经在这里阅读了一段时间了似乎找不到正确的工作方式来获取价值。抱歉,如果一直被问到这个问题。import requestsr = requests.get('https://www.bitmex.com/api/v1/instrument?symbol=XBT&columns=lastPrice&count=1&reverse=true')value = r.textprint(value)#print(value[1]) #print(value['lastPrice'])这个的输出是[{"symbol":"XBTUSD","timestamp":"2019-10-03T22:37:13.085Z","lastPrice":8190.5}]使用 value[1] 只返回打印中的第一个字母。所以对于 ex [1] 返回 { 并使用 ['lastPrice'] 返回 TypeError: string indices must be integers
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
您的返回值是 JSON 字符串,您可以使用response.json()它来将其解码为 python dict。结果包含list单个元素,因此您应该参考第一个元素,list然后dict按键获取值:
r = requests.get('https://www.bitmex.com/api/v1/instrument?symbol=XBT&columns=lastPrice&count=1&reverse=true')
value = r.json()
print(value[0]['lastPrice'])
添加回答
举报
0/150
提交
取消