【问题标题】:How to use json API information from python requests如何使用来自 python 请求的 json API 信息
【发布时间】:2020-12-18 02:35:29
【问题描述】:

我希望能够读取 json API 信息,并根据这些信息做出一些事情。例如:

我从 Streamelements API 获得此信息。

{
"donation":{
"user":{
"username":"StreamElements"
"geo":"null"
"email":"streamelements@streamelements.com"
}
"message":"This is a test"
"amount":100
"currency":"USD"
}
"provider":"paypal"
"status":"success"
"deleted":false
"_id":"5c0aab85de9a4c6756a14e0d"
"channel":"5b2e2007760aeb7729487dab"
"transactionId":"IMPORTED"
"createdAt":""2018-12-07T17:19:01.957Z""
"approved":"allowed"
"updatedAt":""2018-12-07T17:19:01.957Z""
}

然后我想检查该特定小费的金额是否为 10 美元,如果是这种情况,我希望发生一些事情。

这是我目前所拥有的,但我不知道如何获得正确的变量:

data = json.loads(url.text)
if (data[0]['amount'] == 10):
   DoTheThing();

【问题讨论】:

  • 我觉得应该是data[0]['donation']['amount']

标签: python json api python-requests twitch


【解决方案1】:

amount 字段位于内部 donation 对象下:

data = json.loads(url.text)
donation_amount = data["donation"]["amount"]
if donation_amount == 10:
    # do something

使用Stream Elements Tips API documentation 验证。

【讨论】:

  • 我看到有人用 print(data[0]['something'],在这种情况下 0 会做什么?
  • @Androtex 你不需要data[0],因为你加载了 JSON 的响应将是一个字典,我们可以通过 donation 键访问它。
  • 因此,例如,如果有一组不同的捐赠者,我需要使用data[0]['donation']['amount'] 作为该列表中的第一个?
  • @Androtex 不,如果它是此类对象的列表,您将遍历它们:for obj in data:,然后在循环体中,您将执行 donation_amount = obj["donation"]["amount"]。实验,打印出中间值,不要猜测 - 检查自己。
  • 我问是因为我就是这么做的。我用最近的 25 个提示列表测试了另一个 api,当我使用这个 donation_amount = data["docs"][0]["donation"]["amount"] 时它起作用了,为什么会这样?
猜你喜欢
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-23
  • 2021-12-25
  • 2023-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多