如何在包含嵌套字典的列表中调用特定键?

时间:2017-06-18 21:27:22

标签: json list python-3.x dictionary

我正在玩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'

1 个答案:

答案 0 :(得分:1)

您的JSON示例是一个包装两个对象的数组。所以,正确的python语法是:

import json
with open('player_sheet_daniel.json','r') as sheet_json:        
    sheet_py = json.load(sheet_json) 
    section = sheet_py[0]                      
    print(section['sheet_header']['player name'])