簡體   English   中英

使用python從api導出特定的json數據

[英]Exporting specific json data from api with python

第一次來這里,我正在制作一個小的 discord.py 機器人作為一個項目來試驗一下 python/apis。 我的目標是在被問到時從 api 打印不和諧的特定數據。 這是有問題的代碼。

@client.command()
async def otherusers(ctx, player):
    rs = requests.get(apiLink + "/checkban?name=" + str(player))
    if rs.status_code == 200:
        rs = rs.json()
        embed = discord.Embed(title="Other users for" + str(player), description="""User is known as: """ + str(rs["usedNames"]))
        await ctx.send(embed=embed)

這是 API 請求的示例

{"id":1536171865,"avatar":"https://secure.download.dm.origin.com/production/avatar/prod/userAvatar/41472001/208x208.PNG","name":"_7cV","vban":{"A1 Army of One":{"bannedUntil":null,"reason":"ping >1000"}},"ingame":[],"otherNames":{"updateTimestamp":"2022-07-08T10:10:50.939000","usedNames":["ABCDE123","ABCDE1234","ABCDE12345","ABCDE1234567"]}}

如果我將字符串更改為str(rs["otherNames"])它確實起作用,但我只想包含用戶名,如果我將str(rs["usedNames"])和請求放在不和諧上,它會給我一個錯誤PyCharm。

discord.ext.commands.errors.CommandInvokeError:命令引發異常:KeyError:'usedNames'

提前致謝 :)

好吧,據我所知, "usedNames"鍵所在的 API 請求的返回是嵌套的。 嘗試:

str(rs["otherNames"]["usedNames"])

我應該注意這將在您給出的示例中返回["ABCDE123","ABCDE1234","ABCDE12345","ABCDE1234567"] 您可能希望為最終產品格式化其他用戶名列表。

我希望這有幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM