如何使用 python 从响应中获取特定值
How to get the particular values from response using python
我正在尝试从嵌套的 JSON 中获取值。
response = {
"Instance":[
{
"id":"id-1",
"Tags":[],
},
{
"id":"id-2",
"Tags":[],
},
{
"id":"id-3",
"Tags":[
{
"Key":"test",
"Value":"test"
}
],
}
]
}
我试过的python代码是
if response["Instance"]:
print("1-->",response["Instance"])
for identifier in response["Instance"]:
print("2-->", identifier)
if identifier["id"]:
print("3-->", identifier["id"])
if identifier["Tags"]: #ERROR Thrown here as 'Tags' in exception
print("4-->", identifier["Tags"])
for tag in identifier["Tags"]:
print("5-->", identifier["Tags"])
if tag['Key'] == 'test' and tag['Value'] == 'test':
print("6--> test present ")
我正在尝试解析所有 ID 并获取包含测试密钥的标签。但是当标签有一些值时在第三个循环中出错。异常错误只是告诉 'Tags'
如何修改代码?
您正在测试 identifier
字典中是否存在键 "Tags"
,如下所示:
if identifier["Tags"]:
# iterate over identifier["Tags"]
如果 "Tags"
不在 identifier
字典中,这将导致:
KeyError: 'Tags'
相反,您应该使用:
if "Tags" in identifier:
# iterate over identifier["Tags"]
我正在尝试从嵌套的 JSON 中获取值。
response = {
"Instance":[
{
"id":"id-1",
"Tags":[],
},
{
"id":"id-2",
"Tags":[],
},
{
"id":"id-3",
"Tags":[
{
"Key":"test",
"Value":"test"
}
],
}
]
}
我试过的python代码是
if response["Instance"]:
print("1-->",response["Instance"])
for identifier in response["Instance"]:
print("2-->", identifier)
if identifier["id"]:
print("3-->", identifier["id"])
if identifier["Tags"]: #ERROR Thrown here as 'Tags' in exception
print("4-->", identifier["Tags"])
for tag in identifier["Tags"]:
print("5-->", identifier["Tags"])
if tag['Key'] == 'test' and tag['Value'] == 'test':
print("6--> test present ")
我正在尝试解析所有 ID 并获取包含测试密钥的标签。但是当标签有一些值时在第三个循环中出错。异常错误只是告诉 'Tags' 如何修改代码?
您正在测试 identifier
字典中是否存在键 "Tags"
,如下所示:
if identifier["Tags"]:
# iterate over identifier["Tags"]
如果 "Tags"
不在 identifier
字典中,这将导致:
KeyError: 'Tags'
相反,您应该使用:
if "Tags" in identifier:
# iterate over identifier["Tags"]