如何解析同一个对象的多个值?

时间:2019-05-22 14:20:36

标签: python python-2.7 jython

我想从json响应中解析用户的身份,并使用python2.7将电子邮件发送给这些ID。

我可以将其发送给一个用户,但不确定如何嵌入多个用户

role = {
    "permissions": [],
    "principals": [
        {
            "username": "EP@google.com",
            "fullname": "null"
        },
        {
            "username": "pE@google.com",
            "fullname": "null"
        }
    ]
}

role = json.loads(role)
for item in role['principals']:
    p = item['username']
    print(p)

正在打印如下:

EP@google.com
pE@google.com

预期输出:

['EP@google.com','pE@google.com']

1 个答案:

答案 0 :(得分:1)

您可以使用列表理解:

p = [item['username'] for item in role['principals']]
print(p)

安全变体(如果键不存在,则不会引发错误):

result = []
for item in role.get('principals', []):
    p = item.get('username', None)
    if p:
        result.append(p)
print(result)

安全列表理解:

result = [item['username'] for item in role.get('principals', []) if 'username' in item]