【发布时间】:2018-08-09 01:00:17
【问题描述】:
我在尝试从 json 文件中获取数据时遇到错误。
当我使用此代码时, issuer_name 是 KeyError:
@ticket.command(pass_context=True)
@commands.has_role("Tech Support Lead")
async def info(self,ctx):
ticket = ctx.message.content[13:]
if ticket == "":
await self.bot.say("Please supply a ticket id")
return
with open("data/tickets.json", "r") as f:
tickets = json.load(f)
print(tickets[ticket]["issuer_name"])
当我使用此代码时,它是 TypeError(列表索引必须是 int 或 slice,而不是 str):
@ticket.command(pass_context=True)
@commands.has_role("Tech Support Lead")
async def info(self,ctx):
ticket = ctx.message.content[13:]
if ticket == "":
await self.bot.say("Please supply a ticket id")
return
with open("data/tickets.json", "r") as f:
tickets = json.load(f)
print(tickets[ticket]["ticket_data"]["issuer_name"])
这是我的 JSON 文件:
{"amount_of_open_tickets": 1, "13": {"ticket_data": [{"issuer_id":
"244204285729046528", "issuer_name": "Veestire", "ticket_message": "l",
"claimed": null}]}}
【问题讨论】:
-
您的 ticket_data 是一个列表。您无法使用键访问列表元素
标签: python json discord.py