我有一个如下的json文件
"data": [
{
"name": "first",
"foo": "123",
"item": "monday"
},
{
"name": "second",
"foo": "456",
"item": "tuesday"
},
{
"name": "third",
"foo": "789",
"item": "wednesday"}
]
}
现在,当我的可折叠剧本中的item为星期三时,我需要foo的值
我使用了以下json查询,但未能获得所需的输出
- name: Get foo value.
set_fact:
foo_value: "{{ (json.stdout | from_json).data | map(attribute='foo') | list }}"
当我提到foo_value : 789
时,我需要item : wednesday
,请让我知道我做错了什么
答案 0 :(得分:0)
当我提到
foo_value : 789
时,我需要item : wednesday
,请让我知道我做错了什么
您做错的第一件事是没有在表达中的任何地方提及item
;也就是说,您正在寻找的是selectattr
set_fact:
foo_value: "{{ (json.stdout | from_json).data
| selectattr('item', 'eq', 'wednesday')
| map(attribute='foo') | list }}"