【问题标题】:Using Data from a JSON response使用来自 JSON 响应的数据
【发布时间】:2017-06-14 21:55:54
【问题描述】:

我正在尝试制作一个使用 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 不是这样做的好方法/有更有效的方法。

【问题讨论】:

  • 两件事 a) 使用请求调用 api b) 你得到的响应将其加载为 json 并迭代..你不能 json.loads(a url)
  • json.loads 不执行 Web 请求。为此,您需要一个不同的库。
  • 另外,请尝试阅读 Python json 文档。它回答了您的其他问题
  • available_balance 是什么?它是在哪里定义的?
  • 有一些问题...尝试阅读 json 文档

标签: python json api


【解决方案1】:

您的数据:

   js ={
      "status" : "success",
      "data" : {
        "available_balance" : "0.1137",
        "datastuff" : "0.0000",
        "moredata" : "0.1137",
      }
    }

Q.“我如何使用它稍后在程序中提供给我的变量”。 “假设我想打印 available_balance,如何将 JSON 数据更改为可用的 python 数据?”。

A.您有一个 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/...

【讨论】:

    【解决方案2】:

    您必须先使用实际的 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'])
    

    【讨论】:

      猜你喜欢
      • 2015-05-13
      • 2018-10-13
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 2023-03-16
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多