过滤器嵌套数组Python

2024-09-28 22:30:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用“json.dumps(response.json(),indent=4”之后,我有一个这样的输出数组

{
    "totalCount": 8,
    "hasMore": false,
    "firstIndex": 0,
    "list": [
        {
            "id": "7d5bb8asdfasdfasfdasdfasdfasdf",
            "name": "Corporate",
            "domainType": "AAAAAAAA",
            "description": "",
            "createdBy": "admin",
            "createDatetime": "2020/06/04 17:40:22",
            "parentDomainId": "8b208asdfasdfasdfasdfasdfas",
            "zoneCount": 2,
            "subDomainCount": 1,
            "administratorCount": 0,
            "apCount": 0,
            "zeroTouchStatus": true
        },

现在,当我尝试按如下方式过滤它时 打印(结果['name'])或打印(结果['list'][0]['name'])

我一直收到以下错误消息: TypeError:字符串索引必须是整数

这从一个dict{}开始,然后这里有dict{}的列表[]。基于此,它应该可以工作。感谢您的指导。谢谢


Tags: nameidjsonfalseresponsecorporate数组dict
2条回答

问题是json.dumps(response.json())。此语句的返回是str,因此无法使用[]表示法获取项。您可以将其转换回dict

从您发布的数据可以清楚地看出,它仍然是文本格式的JSON。使用json.loads()转换为python dict

result = json.loads(response.json())
print(results['name']) 
print(results['list'][0]['name'])

相关问题 更多 >