我使用 Bitmex API 的請求,我試圖從 get 請求中獲取 lastPrice 值。我將響應(yīng)存儲到一個變量中,嘗試了幾種方法來提取 lastPrice 值,包括 print(value[1]) print(value['lastPrice'],所有這些都不起作用,我已經(jīng)在這里閱讀了一段時間了似乎找不到正確的工作方式來獲取價值。抱歉,如果一直被問到這個問題。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條經(jīng)驗 獲得超5個贊
您的返回值是 JSON 字符串,您可以使用response.json()它來將其解碼為 python dict。結(jié)果包含list單個元素,因此您應(yīng)該參考第一個元素,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
提交
取消