Python API调用一直在给出keyerror?不和谐巨蟒

Python API调用一直在给出keyerror?不和谐巨蟒,python,discord,discord.py,Python,Discord,Discord.py,我一直在尝试让这个变量列表工作,但它一直给我钥匙错误,我试图改变变量等,但不工作 @client.command() async def info(ctx): url = ('https://randomuser.me/api/') response = requests.get(url) title = response.json()["title"] first = response.json()["first"]

我一直在尝试让这个变量列表工作,但它一直给我钥匙错误,我试图改变变量等,但不工作

@client.command()
async def info(ctx):
    url = ('https://randomuser.me/api/')

    response = requests.get(url)
    title = response.json()["title"]
    first = response.json()["first"]
    last = response.json()["last"]
    number = response.json()["number"]
    street = response.json()["name"]
    city = response.json()["city"]
    state = response.json()["state"]
    postcode = response.json()["postcode"]
    country = response.json()["country"]
    phone = response.json()["phone"]
    age = response.json()["age"]
    dob = response.json()["date"]
    gender = response.json()["gender"]
    username = response.json()["username"]
    password = response.json()["password"]
    image = response.json()["large"]

    embed = discord.Embed(title="Fake Info Generator", description=f"**Name:** '{title}', '{first}' '{last}'\n**Address:** '{number}' '{street}', '{city}', '{state}', '{postcode}', '{country}'\n**Phone:** '{phone}'\n**Age:** '{age}', '{dob}'\n**Gender:** '{gender}'", color=18321)
    embed.set_footer(text="Random Info")                                                
    embed.set_image(url=f"'{image}'")
                                                           
    await ctx.send(embed=embed)
title = response.json()["name"][0]["title"]
我尝试过将变量更改为这样的事情,但仍然不起作用

@client.command()
async def info(ctx):
    url = ('https://randomuser.me/api/')

    response = requests.get(url)
    title = response.json()["title"]
    first = response.json()["first"]
    last = response.json()["last"]
    number = response.json()["number"]
    street = response.json()["name"]
    city = response.json()["city"]
    state = response.json()["state"]
    postcode = response.json()["postcode"]
    country = response.json()["country"]
    phone = response.json()["phone"]
    age = response.json()["age"]
    dob = response.json()["date"]
    gender = response.json()["gender"]
    username = response.json()["username"]
    password = response.json()["password"]
    image = response.json()["large"]

    embed = discord.Embed(title="Fake Info Generator", description=f"**Name:** '{title}', '{first}' '{last}'\n**Address:** '{number}' '{street}', '{city}', '{state}', '{postcode}', '{country}'\n**Phone:** '{phone}'\n**Age:** '{age}', '{dob}'\n**Gender:** '{gender}'", color=18321)
    embed.set_footer(text="Random Info")                                                
    embed.set_image(url=f"'{image}'")
                                                           
    await ctx.send(embed=embed)
title = response.json()["name"][0]["title"]

因为现在JSON读取就是这样工作的

您需要指定要读取的值的整个“路径”。您不能只获取
response.json()[“title”]
,因为响应的格式不是这样的

响应JSON的格式如下所示:

{
“结果”:[
{
“性别”:“女性”,
“姓名”:{
“头衔”:“夫人”,
“第一”:“日尔曼”,
“last”:“Rey”
},
...
}
],
...
}

为了能够阅读
标题
,您需要阅读索引0处数组
结果
(因为您只关心第一个结果),然后检查名称,最后是标题,因此它看起来是这样的:
response.json()[“results”][0][“name”][“title”]

您能添加完整的回溯吗?