0
我在玩python和JSON文件。我正在做一个简单的游戏作为一个学习项目,但是我无法在需要时按需求在列表中获取嵌套密钥。在下面的例子中,我试图获得玩家的名字。如何在包含嵌套字典的列表中调用特定键?
这是JSON文件(player_sheet_daniel.json
):
[
{
"sheet_header": {
"player name": "Daniel",
"character name": "Ulrik the Blob"
}
},
{
"prim_attr": {
"STR": "11",
"DEX": "12",
"HP": "15",
"SKI": "16"
}
}
]
我已经试过:
import json
with open('player_sheet_daniel.json','r') as sheet_json:
sheet_py = json.load(sheet_json)
for section in sheet_py:
print(section['sheet_header']['player name'])
我得到:KeyError: 'sheet_header'
。
只有一个'sheet_py'节实际上包含了'sheet_header'键。 – jonrsharpe
是的,我认为这会被忽略...所以我需要做一个如果检查之前的电话然后......不知道。谢谢。 –
为什么会这样?你可以首先检查section'中的'sheet_header',或者使用'section.get('sheet_header')',或者用'try:'和'除了KeyError;'来防止。 – jonrsharpe