【发布时间】:2018-06-26 10:30:19
【问题描述】:
我有以下结构。
[
{
"ami_launch_index": 0,
"architecture": "x86_64",
"instance_type": "t2.micro",
"monitoring": {
"state": "disabled"
} ,
"placement": {
"availability_zone": "eu-central-1a",
"group_name": "",
"tenancy": "default"
},
"tags": {
"Name": "MYNAME 1",
"Project": "MY PROJECT",
"Purpose": "MYTEST"
},
"virtualization_type": "hvm"
},
{
"ami_launch_index": 2,
"architecture": "x86_64",
"instance_type": "t2.micro",
"monitoring": {
"state": "disabled"
},
"placement": {
"availability_zone": "eu-central-1a",
"group_name": "",
"tenancy": "default"
},
"tags": {
"Name": "MYNAME 2",
"Project": "MY SECOND PROJECT",
"Purpose": "WHY THE HECK NOT"
},
"virtualization_type": "hvm"
}
]
我想打印 [].tags.Name 包含字符串“SECOND”的所有元素(所以只是第二个元素。我该如何实现?
这是我尝试过的,但它不起作用。
- debug:
msg: "{{ instances.stdout | from_json | json_query(\"[][?contains(tags.Name, 'SECOND')]\") }}"
我尝试使用http://jmespath.org,但也无法按照我想要的方式提取数据。
【问题讨论】:
标签: json ansible filtering jmespath