我遇到了一个我以前从未见过的错误,而且互联网上也没有我能理解的关于如何解决这个问题的好信息
embed.add_field(name=f"Departure Airport ({res['departure']['airport']['icao']})")
错误:
TypeError: list indices must be integers or slices, not str
JSON响应:https://mystb.in/NeverSmiliesTowers.json
我知道我正试图以听写的方式阅读清单,但我不太确定如何从清单中获取听写。希望你能理解我的问题
Note: res is just res = await foo.json(). It just formats the response in JSON. I am also not reading this from a local file. I am reading this from an API response.
响应是一个列表,而不是dict。您需要首先访问该列表,然后访问所有dict键
有一种常见的误解,即JSON总是在其顶层表示字典。它们也可以在顶层表示列表。这两个都是有效的JSON:
您提供的JSON示例与上面的第二个代码段相匹配,其中顶级结构是一个列表(-like)。请注意JSON是如何以一个方括号开头的:
{}JSON是一个字典列表,因此需要从该列表中检索第一个字典
您可以通过以下方式执行此操作:
res[0]['departure']['airport']['icao']
(请注意我们首先是如何索引
res
列表的,该列表返回一个字典,然后我们可以从中获取“离开”。)相关问题 更多 >
编程相关推荐