繁体   English   中英

Python索引必须为整数

[英]Python Indices must be integers

我有这段代码,我试图从下面的示例json访问一些文件,我试图弄清楚为什么这个错误不断出现,但是我没有成功。 我究竟做错了什么? 什么是获取此数据的最佳方法?

def _get_user_map(self):
    user_map = {}
    users = self.get_users().json()
    for user in users:
        user_map[user['person']['id']] = user['person']

    return user_map

样本json

[
    {
        "kind": "account_membership",
        "id": 100,
        "person": {
            "kind": "person",
            "id": 100,
            "name": "Emperor Palpatine",
            "email": "emperor@galacticrepublic.gov",
            "initials": "EP",
            "username": "palpatine"
        },
        "account_id": 100,
        "created_at": "2019-09-03T12:00:00Z",
        "updated_at": "2019-09-03T12:00:00Z",
        "owner": true,
        "admin": false,
        "project_creator": false
    },
    ...
]

我收到以下错误

in _get_user_map
    user_map[user['id']['person']] = user['person']
TypeError: string indices must be integers

您在user_map[user['id']['person']] = user['person']出错,因为此行与您的JSON结构不匹配。 您需要交换“ person”和“ id”,以便您的行读取: user_map[user['person']['id']] = user['person']

for user in users:修改了此行for user in users:我删除了用户,并for user in "":双引号for user in "":问题已解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM