使用子键解析Python中的JSON

2024-09-28 01:25:00 发布

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

在stackflow中尝试了10或12个解决方案之后,我无法正确解析子进程的json输出。 这些代码工作正常。如您所见,我构建了两个列表,并尝试构建一个只有两个thoses值的词汇表。你知道吗

list_ssl_json = subprocess.check_output('/usr/local/bin/aws iam list-server-certificates', shell=True)
    list=json.loads(list_ssl_json)
    count=0
    while count < len(list['ServerCertificateMetadataList']):
            cns.append(list["ServerCertificateMetadataList"][count]["ServerCertificateName"])
            arns.append(list["ServerCertificateMetadataList"][count]["Arn"])
            count += 1
    count=0
tablist=dict(zip(cns,arns))

但是,从这个json子进程输出中,我无法获得“SSLCertificateId”值。你知道吗

{
"LoadBalancerDescriptions": [
    {
        "Subnets": [
            "subnet-99dc23fc", 
            "subnet-ec3a02aa"
        ], 
        "CanonicalHostedZoneNameID": "Z3NF1Z3NOM5OY2", 
        "CanonicalHostedZoneName": "ImmaCloudLB-546492219.eu-west-1.elb.amazonaws.com", 
        "ListenerDescriptions": [
            {
                "Listener": {
                    "InstancePort": 80, 
                    "LoadBalancerPort": 80, 
                    "Protocol": "HTTP", 
                    "InstanceProtocol": "HTTP"
                }, 
                "PolicyNames": []
            }, 
            {
                "Listener": {
                    "InstancePort": 443, 
                    "SSLCertificateId": "arn:aws:iam::732791872228:server-certificate/dlyphenix-af.immanens-delivery", 
                    "LoadBalancerPort": 443, 
                    "Protocol": "HTTPS", 
                    "InstanceProtocol": "HTTPS"
                }, 

谢谢你的帮助


Tags: awsjsonsslserver进程countlistiam

热门问题