Python 从对象列表中获取值

问题描述 投票:0回答:1

我正在使用 python 进行请求调用,但我正在努力从 Json 中检索我需要的数据。

这里是 Json:

{
    "count": 987,
    "value": [
        {
            "quality": "definition",
            "drafts": [],
            "queue": {
                "_links": {
                    "self": {
                        "href": "https://myUrl/"
                    }
                },
                "id": 987551,
                "name": "something",
                "url": "https://myUrl/",
                "pool": {
                    "id": 81,
                    "name": "myProjectName"
                }
            },
            "id": 477,
            "name": "myProjectName",
            "url": "https://myUrl/",
            "uri": "",
            "path": "\\",
            "type": "build",
            "queueStatus": "enabled",
            "revision": 18,
            "createdDate": "2020-07-03T09:06:01.6Z"
        },

        {
            //another object similar to the above one

        },
...
    ]
}

这就是我正在尝试的:

response = requests.get(organization_url, auth=basic, headers=headers)

test = response.json()
print(test['value'][0])

使用上面的代码,我可以打印我的值的第一个对象,并且使用类似的东西访问“队列”对象没有问题

print(test['value'][0]['queue'])

但是我不明白如何打印队列对象之外的 id 或名称

            "id": 477,
            "name": "myPersonalProjectName",

如果我尝试一些事情

print(test['value'][0]['name'])

我得到:

KeyError: 'name'

我也尝试过迭代,但我遗漏了一些东西。根据我的理解,值对象应该是一个列表,里面有不同的字典和其他键:值。

但是为什么这样的方法不起作用呢?

print(test['value'][0]['name'])

谢谢!

python azure-devops-rest-api
1个回答
0
投票

一旦开始使用键值对,就必须使用“.”访问它。

projectname = test['value'][0].name

这里有一个很好的参考: 如何访问 JSON 对象名称/值?

© www.soinside.com 2019 - 2024. All rights reserved.