【问题标题】:Trying to print JSON data using Python尝试使用 Python 打印 JSON 数据
【发布时间】:2018-10-05 00:33:18
【问题描述】:

所以我有一个使用 python 的 Discord BOT,我正在尝试使用 Enjin API 打印 JSON 信息。如果我执行print(Data),我可以让它打印所有内容,但是一旦我尝试显示某些信息,例如variables_values,它就不会显示并给我以下错误:

命令引发异常:TypeError: list indices must be integers or slices, not str

我有一个以前的功能;调用 Status 使用不同的 API,我 可以 让它与它一起工作,但我无法获得以下代码来显示 variables_values 括号中的值。 (如您所知,我不擅长 JSON | 另外,请忽略 xxxxx

async def GetVariable(message):
    R = requests.get('http://www.xxxxxx.co.uk/api/m-shopping-purchases/m/47325895/user_id/19363576')
    Data = R.json()

    await client.say(Data["varaible_values"])

当我运行 ?GetVariable 命令时,这是我想要显示的内容: jacobdallred - 在"variables_values":{"Steam64ID":"jacobdallred"} 的地方。

相反,它给了我前面提到的错误。

如果我只有client.say(Data),它会显示以下内容:(上传到 Hastebin 以显示更好) https://hastebin.com/huwubiwawe.json

【问题讨论】:

  • 你的结果R.json是一个json数组,不是json对象
  • 提示 #1:避免使用“data”、“var”、“str”等变量名。

标签: python json python-3.x discord.py


【解决方案1】:

您需要访问该json 响应数组的第一个元素。像这样:

await client.say(Data[0]["items"][0]["variables_values"]["Steam64ID"])

【讨论】:

  • 嘿,感谢您这么快给出答案,但是我收到以下错误:Command raised an exception: KeyError: 'variables_values'
猜你喜欢
  • 1970-01-01
  • 2022-07-15
  • 2016-10-25
  • 2017-05-26
  • 2015-06-27
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多