我有一个从调用返回的json对象,类似于:

{
    'Tags': [
        {
            'Key': 'Dept',
            'PropagateAtLaunch': True,
            'ResourceId': 'my-auto-scaling-group',
            'ResourceType': 'auto-scaling-group',
            'Value': 'Research',
        },
        {
            'Key': 'Role',
            'PropagateAtLaunch': True,
            'ResourceId': 'my-auto-scaling-group',
            'ResourceType': 'auto-scaling-group',
            'Value': 'WebServer',
        },
        {
            'Key': 'ecs_scaling',
            'PropagateAtLaunch': True,
            'ResourceId': 'my-auto-scaling-group',
            'ResourceType': 'auto-scaling-group',
            'Value': 'true',
        },
    ],
    'ResponseMetadata': {
        '...': '...',
    },
}

除了标准之外,还有没有更简单的方法来确定键是否存在呢?:
data = json.loads(theThing)
for key in data.items():
   ...

关键可能是第一项,也可能是第40项——理想情况下,我希望能够做一些类似于ecs_scaling

最佳答案


any

if any(tag['key'] == 'ecs_scaling' for tag in data['Tags']):
    ...

07-24 18:36