我正在尝试创建一个使用API的程序,该API提供类似于此的JSON响应:
{
"status" : "success",
"data" : {
"available_balance" : "0.1137",
"datastuff" : "0.0000",
"moredata" : "0.1137",
}
}
所以我的程序看起来像这样:
import json
jsonbaldata = ""
mytoken = ""
def getbal():
jsonbaldata = json.loads("https://website.com/api/apinformationhere/?api_key=" + APIKey + "&code=" + my_token)
print("Balance: " + available_balance)
return;
print("Starting program...")
getbal()
我编辑了很多,因为它与问题无关并且是私有的,但主要的问题是,一旦我调用jsonbaldata
,我怎么能使用它后来给我的变量在该计划?例如,假设我想打印available_balance
,我如何将JSON数据更改为可用的python数据?
另外,我是否正确调用API来执行此操作?或者json.loads
不是一个好的方法来做这个/有更有效的方法来做到这一点。
答案 0 :(得分:4)
您必须首先使用实际的GET请求来提取API数据。请使用requests。
您可以像这样加载数据:
import requests
r = requests.get("https://website.com/api/apinformationhere/", params={'api_key': APIKey, 'code': my_token})
data = r.json()[0]
然后,您可以将数据作为python dict访问,即
print(data['data']['available_balance'])
答案 1 :(得分:2)
您的数据:
js ={
"status" : "success",
"data" : {
"available_balance" : "0.1137",
"datastuff" : "0.0000",
"moredata" : "0.1137",
}
}
问:“如何使用它在程序后面给我的变量”。 “假设我想打印available_balance,我如何将JSON数据更改为可用的python数据?”。
一个。你有一个python字典并访问数据如下:
js['data']['available_balance']
<强>输出:强>
'0.1137'
我还建议您阅读requests documentation,因为它有一个可能对您有帮助的示例:
import requests
r = requests.get('https://api.github.com/events')
r.json()
<强>输出:强>
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...