0
私はPythonと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'])
私が手:
この
はJSONファイル(player_sheet_daniel.json
)である
KeyError: 'sheet_header'
。
「sheet_pyの1つのセクション」には、実際には「sheet_header」というキーが含まれています。 – jonrsharpe
はい、私はそれが無視されるだろうと思ったので...コールの前にifチェックをする必要があります。ありがとう。 –
なぜでしょうか?セクション '' sheet_header 'を最初にチェックするか、 'section.get(' sheet_header ')'を使うか、 'try:'と 'except KeyError;を使ってガードすることができます。 – jonrsharpe