【问题标题】:How to load a .json file as a dictionary如何将 .json 文件加载为字典
【发布时间】:2015-07-25 18:39:19
【问题描述】:

我想将 .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 文件保存为包含字典的字典?

【问题讨论】:

  • 另外,请将其缩减为小样本,而不是需要单独下载的 18MB 文件。

标签: python json dictionary


【解决方案1】:

match_histories 是一个带有 one 键的字典,matches。该值是一个字典列表;遍历该列表:

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

警告:match 对象本身就是字典。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多