我是这个Python世界的新手,我试图使用API来进行基本货币计算。我可以得到如下输出:
{'USD': 1.13}
这个,但我希望它只是
1.13
代码:
import requests
inputCurrency = 'EUR'
outputCurrency = 'USD'
p = {"inpc":inputCurrency, "outc":outputCurrency}
url = 'https://somewebsite/api/data'
r = requests.get(url, params=p)
print(r.json())
答案 0 :(得分:1)
服务器返回了一个JSON对象。 .json()
响应的r
方法对其进行解码,并返回已解码的对象,即Python dict
。
您想要与'USD'
键对应的值。
只是做:
import requests
inputCurrency = 'EUR'
outputCurrency = 'USD'
p = {"inpc":inputCurrency, "outc":outputCurrency}
url = 'https://somewebsite/api/data'
response = requests.get(url, params=p)
json_data =response.json()
print(json_data['USD'])
如果数据的结构更复杂,如评论所示:
json_data = { "status": 1, "data": [ { "time": "2015-08-30T07:56:28.000Z", "usd": 1.17 }, { "time": "2015-08-30T08:56:28.000Z", "usd": 1.27 }, { "time": "2015-08-30T09:56:28.000Z", "usd": 1.28 }]}
你可以提取相关部分:
data = json_data['data']
这是一个词典列表。然后,您可以打印第一个:
print(data[0]['usd'])
# 1.27
或全部打印:
for day_value in data:
print(day_value['usd'])