python-3.x 当主(第一级)字典键变化时,如何访问嵌套json响应字典中的子字典?

6ss1mwsb  于 2023-04-13  发布在  Python
关注(0)|答案(1)|浏览(108)

我有一个这样的JSON响应:

{'3830': {'success': True, 'data': {'categories': [{'id': 2, 'description': 'Single-player'}, {etc...

我想访问子字典categories,但是上面例子中的主字典键3830是变化的。json响应是requests.get遍历列表的结果,因此主字典键随着每个响应而变化。我不知道如何在包含categories内容的函数中设置一个变量。
我试过:

data = await response.json()
mp_data = data['3830']['data']['categories']

这当然适用于第一次迭代,因为3830匹配,但在随后的迭代中失败,并出现KeyError。还尝试为第一级使用变量,如['*'][*],但这也不起作用。
有什么最好的办法吗?可能吗?

h22fl7wq

h22fl7wq1#

如果它总是要访问的第一个密钥,请使用

first_key = list(data.keys())[0]

或者

first_key = next(data.keys())

获取第一个密钥,然后使用它访问较低级别的数据

mp_data = data[first_key]['data']['categories']

相关问题