首页 > 解决方案 > 无法使用循环访问字典键,我收到 TypeError

问题描述

为了举例,我把它缩短了。

import json    

info = '''
{
    "people":
    {
        "rick":
        {
            "age": 24
        }
    }
}
'''

data = json.loads(info)

以下代码输出:rick(这是我所期望的)

for person in data["people"]:
    print(person)

在下面的代码中,我期待输出:24

for person in data["people"]:
    print(person["age"])

但相反我得到:TypeError:字符串索引必须是整数

据我了解,这意味着rick被转换为string,不再是字典,如果是这样,输出24的正确方法是什么?

谢谢

标签: pythonjsondictionary

解决方案


你需要遍历values你的内部字典。本身就是一本data["people"]字典。

for person in data["people"].values():  
    print(person["age"])

# 24

推荐阅读