python-3.x 如何提取JSON字典列表中特定键的值

zi8p0yeb  于 2023-01-27  发布在  Python
关注(0)|答案(1)|浏览(177)

嗨,我有一个JSON文件"组"与下面的格式,我需要列出键"组ID"的所有值。

{
    'accountId': '1234',
    'accountName': 'ABCD',
    'groups': {
        'items': [{
            'groupName': 'groupA',
            'groupId': 'grp_111',
            'parentGroupId': 'grp_567',
            'contractIds': ['ctr_567']
        }, {
            'groupName': 'groupB',
            'groupId': 'grp_222',
            'parentGroupId': 'grp_567',
            'contractIds': ['ctr_567']
        }

我试过以下代码

result = session.get(urljoin(baseurl, path), headers=headers, verify=False)
groups = result.json()

print (groups['groups'])
for i in groups['items']:
    for groupId in i:
        print ('groupId')

但获取KeyError:'项目'
我希望看到所有groupId的列表,或者它可以是键-值格式。

ajsxfq5m

ajsxfq5m1#

你得到一个KeyError是因为你的顶级字典没有一个items键。它有一个groups键,而groups键又有一个items键:

for i in groups['groups']['items']:

在这个循环中,i将是一个字典,因此不需要另一个for循环;您只需要:

for i in groups['groups']['items']:
    print(i['groupId'])

如果你只需要一个组ID列表,你可以写:

groupids = [group['groupId'] for group in groups['groups']['items']]

这将导致groupids包含值['grp_111', 'grp_222']

相关问题