python中的查询json
我是新来的。我正在尝试从以下JSON获取“VpcId”。试图在python中使用get()方法来完成此操作。有人能帮忙吗?先谢谢你python中的查询json,python,json,Python,Json,我是新来的。我正在尝试从以下JSON获取“VpcId”。试图在python中使用get()方法来完成此操作。有人能帮忙吗?先谢谢你 ec2.description_vpcs().get('vpcs').get('VpcId') 正在尝试查询的JSON主体 { "Vpcs": [ { "CidrBlock": "XXXXXXXXXX", "VpcId": "vpc-XXXXXXXXXX", "CidrBlockAssociationSet": [
ec2.description_vpcs().get('vpcs').get('VpcId')
正在尝试查询的JSON主体
{
"Vpcs": [
{
"CidrBlock": "XXXXXXXXXX",
"VpcId": "vpc-XXXXXXXXXX",
"CidrBlockAssociationSet": [
{
"AssociationId": "XXXXXXXXXX",
"CidrBlock": "XXXXXXXXXX",
}
],
"IsDefault": XXXXXXXXXX,
},
{
"CidrBlock": "XXXXXXXXXX",
"VpcId": "vpc-XXXXXXXXXX",
"CidrBlockAssociationSet": [
{
"AssociationId": "XXXXXXXXXX",
"CidrBlockState": {
"State": "XXXXXXXXXX"
}
}
],
"IsDefault": XXXXXXXXXX,
},
"ResponseMetadata": {
},
"RetryAttempts": 0
}
]
}
给你一个数组。数组没有属性get。另外,您的json格式不正确,您在最后错过了一个ec2.description_vpcs().get('vpcs')
]
- 您应该循环遍历它,然后可以使用
.get('VpcId')
Vpcs
进行iter。请尝试以下操作:
for i in ec2.describe_vpcs().get('Vpcs'):
print(i.get('VpcId'))
由于有多个结果,您必须循环它们,但也可以在一行中完成:
print('\n'.join(i.get('VpcId') for i in ec2.describe_vpcs().get('Vpcs')))
哪个
VpcId
?存在多个。使用get
时您面临的错误是什么?所有的“VpcId”。错误是AttributeError:'str'对象没有属性“get”
JSON是否已在某个时候转换为python字典?请理解,JSON是一种文本格式,可以作为字符串读取。要获取值,必须将其转换为字典(例如:json.loads(stringvalue)
。不清楚是否已完成此操作。我尝试了json.dumps(ec2.descripe_vpcs()).get('vpcs')。get('VpcId')
。给出了ssame错误