【发布时间】:2021-01-22 07:29:31
【问题描述】:
有人可以告诉我是否可以这样做吗? 我有以下列表
list:
- dev
- uat
我想遍历上面的列表并从下面的输出中获取各个IpAddress 的值。
{
"Tags": [
{
"ResourceType": "instance",
"ResourceId": "i-8dh7435490fjksfd",
"Environment": "production",
"IpAddress": "10.0.0.8"
},
{
"ResourceType": "instance",
"ResourceId": "i-8dh7435dsj89jfe",
"Environment": "dev",
"IpAddress": "10.0.0.3"
},
{
"ResourceType": "instance",
"ResourceId": "i-8dsdj456ovfvfd",
"Environment": "uat",
"IpAddress": "10.0.0.7"
}
]
}
这是我正在寻找的输出
[
"10.0.0.3",
"10.0.0.7"
]
我正在尝试使用此过滤器Tags| json_query('[*].IpAddress')。但它给了我列表中的所有IpAddress。
【问题讨论】:
-
恐怕 json_query test
contains在这里不起作用。试试selectattr和map(attribute='IpAddress'
标签: json ansible jinja2 json-query