我在python中的列表遇到了麻烦。 我正在尝试从请求中提取的JSON中获取数据。 这是我要从中提取的内容的摘要: https://euw1.api.riotgames.com/lol/match/v3/matches/3884275290?api_key=RGAPI-43936bd4-d025-4ead-b1cf-8a87d8598135
(不用担心,API密钥不是我开发的)
这是我遇到的代码:
print gameInUse['participants']['participantId'][participantIdList[5]]['championId']
我遇到的错误主要是 TypeError:列表索引必须是整数,而不是str
我不明白。
我知道其中一部分一定是错误的,因为其中一个索引必须不正确,或者我缺少一个索引,我只是无法弄清楚在哪里或哪个地方。
答案 0 :(得分:0)
假设gameInUse是该API中返回的JSON,则问题在于Scenario Outline: Browser Test
When I visit the URL <base>/<page>/<ordNumber>/<custName>
Then the browser contains test <custNumber>
Examples: {'datafile': 'resources/testdata/examples.xls'}
是参与者列表,因此您需要一个整数才能按索引搜索。
看起来参与者以索引1开始列出,因此您可以使用:
gameInUse['participants']
(第一个参与者)。要获取其ChampionId,您可以使用:
gameInUse['participants'][0]
我使用this site帮助我更好地可视化JSON。
答案 1 :(得分:0)
如果检查Json对象的结构,您会发现gameInUse['participants']
的值是list
类型而不是dict
,因此必须放置一个整数才能获取元素而不是字符串(字典的键)。
因此,例如gameInUse['participants'][0].
花时间阅读Json对象并了解值类型。