尝试使用Python打印JSON数据
因此,我有一个使用python的Discord机器人,我正在尝试使用Enjin API打印JSON信息。如果我执行尝试使用Python打印JSON数据,python,json,python-3.x,discord.py,Python,Json,Python 3.x,Discord.py,因此,我有一个使用python的Discord机器人,我正在尝试使用Enjin API打印JSON信息。如果我执行打印(数据),我可以让它打印所有内容,但只要我尝试显示某些信息,例如变量值,它就不会显示,并给出以下错误: 命令引发异常:TypeError:列表索引必须是整数或片,而不是str 我有一个先前的函数;调用了使用不同API的Status,我可以让它使用它,但我无法让下面的代码显示变量\u值括号中的值。(如你所知,我对JSON不太在行;另外,忽略xxxxx) 以下是我希望在运行?GetV
打印(数据)
,我可以让它打印所有内容,但只要我尝试显示某些信息,例如变量值
,它就不会显示,并给出以下错误:
命令引发异常:TypeError:列表索引必须是整数或片,而不是str
我有一个先前的函数;调用了使用不同API的Status
,我可以让它使用它,但我无法让下面的代码显示变量\u值
括号中的值。(如你所知,我对JSON不太在行;另外,忽略xxxxx)
以下是我希望在运行?GetVariable命令时显示的内容:
jacobdallred
-位于变量值中:{“stream64id”:“jacobdallred”}
位置
相反,它给了我前面提到的错误
以下是当我只使用客户端时显示的内容。比如(数据)
:(上传到Hastebin以显示更好)
您需要访问
json
响应数组的第一个元素。像这样:
await client.say(Data[0]["items"][0]["variables_values"]["Steam64ID"])
您的结果
R.json
是一个json数组,而不是json对象提示#1:避免使用诸如“data”、“var”、“str”等变量名。嘿,感谢您这么快给出了答案,但是我得到了以下错误:命令引发了一个异常:keyrerror:“variables\u values”
await client.say(Data[0]["items"][0]["variables_values"]["Steam64ID"])