使用来自JSON响应的数据

时间:2017-01-29 17:55:33

标签: python json api

我正在尝试创建一个使用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不是一个好的方法来做这个/有更有效的方法来做到这一点。

2 个答案:

答案 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/...