Ansible json_查询,用于过滤dict列表dict上的数据
我有一个Ansible任务,它根据特定条件收集用户数据,并将输出注册到一个变量,然后在下一个任务中尝试迭代注册的数据,仅获取name参数Ansible json_查询,用于过滤dict列表dict上的数据,ansible,json-query,Ansible,Json Query,我有一个Ansible任务,它根据特定条件收集用户数据,并将输出注册到一个变量,然后在下一个任务中尝试迭代注册的数据,仅获取name参数 { “注册数据”:{ “更改”:错误, “msg”:“所有项目已完成”, “结果”:[ { “ansible_loop_var”:“项目”, “更改”:错误, “失败”:错误, “数据详细信息”:[ { “姓名”:“约翰”, “街道”:“SanFisco” }, { “姓名”:“丹”, “街道”:“加州” }, { “姓名”:“杰克”, “街道”:“纽约” }
{
“注册数据”:{
“更改”:错误,
“msg”:“所有项目已完成”,
“结果”:[
{
“ansible_loop_var”:“项目”,
“更改”:错误,
“失败”:错误,
“数据详细信息”:[
{
“姓名”:“约翰”,
“街道”:“SanFisco”
},
{
“姓名”:“丹”,
“街道”:“加州”
},
{
“姓名”:“杰克”,
“街道”:“纽约”
},
{
“姓名”:“遗嘱”,
“街道”:“NJ”
}
],
“调用”:{
“模块参数”:{
“排序依据”:空,
“排序顺序”:空
}
},
“项目”:{
“状态”:“就绪”
}
},
{
“ansible_loop_var”:“项目”,
“更改”:错误,
“失败”:错误,
“数据详细信息”:[],
“调用”:{
“模块参数”:{
“排序依据”:空,
“排序顺序”:空
}
},
“项目”:{
“状态”:“就绪”
}
},
{
“ansible_loop_var”:“项目”,
“更改”:错误,
“失败”:错误,
“数据详细信息”:[],
“调用”:{
“模块参数”:{
“排序依据”:空,
“排序顺序”:空
}
},
“项目”:{
“状态”:“就绪”
}
}
]
}
}
我试图使用下面的ansible任务来解析和过滤不返回任何输出的数据
- name: 'printing data'
delegate_to: 'localhost'
when: item
loop: "{{ registered_data |json_query(projection_query) }}"
debug:
msg: "{{ item }}"
vars:
projection_query: "results.[*].name"
下面的任务
-调试:
msg:{{registered_data.results}json_query(query)}”
变量:
查询:“[].data_details[].name”
给予
@对不起,我的错。我只是简单地复制了ansible的输出,它产生了这样的结果。我现在已经改正了。
msg:
- John
- Dan
- Jack
- Wills