如何将.json文件作为字典

时间:2015-07-25 18:39:20

标签: python json dictionary

我想将.json文件中的信息保存为包含其他词典的字典。我试过,但是,当我尝试访问第一个键时,它是一个字符串,而不是另一个字典。这是我的代码:

with open('matches1.json', 'r') as json_file:
    match_histories = json.load(json_file)
print(match_histories[key]['matches'])
for i in range(6):
    print(match_histories[key][i])

第一次打印导致错误,第二次打印导致'匹配'。

我要加载的文件可以是downloaded,但结构基本上是:

{
    "matches": [
        {
            "matchId": 1778839570,
            "region": "NA",
            "platformId": "NA1",
            "matchMode": "CLASSIC",
            "matchType": "MATCHED_GAME",
            "matchCreation": 1427867835805,
            "matchDuration": 3424,
            "queueType": "RANKED_SOLO_5x5",
            "mapId": 11,
            "season": "SEASON2015",
            "matchVersion": "5.6.0.194",
            "participants": [
                // more dictionaries
                ],
            "participantIdentities": [
                // more dictionaries
            ],
            "teams": [
                // more dictionaries
            ],
            "timeline": {
                "frames": [
                    // many frame dictionaries
                ],
                "frameInterval": 60000
            }
        },

        // more dictionaries
    ]
}

我将它作为matches1.json保存在与我的代码相同的目录中。

我也尝试过把

match_histories={}

在我的其他代码之前,但这也无济于事。

如何将此.json文件另存为包含词典的字典?

1 个答案:

答案 0 :(得分:1)

match_histories是一个包含一个键的字典matches。值是一个字典列表;循环遍历该列表:

for match in match_histories['matches']:
    print(match['matchId'])

警告:match个对象本身就是大型词典。