Получение значения из ответа api dict - PullRequest
0 голосов
/ 04 октября 2019

Я использую запросы с API Bitmex, я пытаюсь получить значение lastPrice из запросов get.

Я сохранил ответ в переменной, попытался несколькими способами получить значение lastPrice, включая print (value [1]) print (value ['lastPrice'], все из которых не работало, я читал дляНекоторое время здесь и, похоже, не могу найти правильный способ получения значения. Извините, если это все время спрашивают.

import requests

r = requests.get('https://www.bitmex.com/api/v1/instrument?symbol=XBT&columns=lastPrice&count=1&reverse=true')

value = r.text
print(value)
#print(value[1]) 
#print(value['lastPrice'])

Выходные данные:

[{"symbol":"XBTUSD","timestamp":"2019-10-03T22:37:13.085Z","lastPrice":8190.5}]

использование значения [1] просто возвращает первую букву в печати. ​​Так, например, ex [1] возвращает {и использование ['lastPrice'] возвращает TypeError: string indices must be integers

1 Ответ

1 голос
/ 04 октября 2019

Возвращаемое значение - строка 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'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...