如何将ansible变量输出分配给嵌套列表中的另一个变量

如何将ansible变量输出分配给嵌套列表中的另一个变量,ansible,jsonpath,ansible-facts,ansible-template,jmespath,Ansible,Jsonpath,Ansible Facts,Ansible Template,Jmespath,我需要帮助来执行Ansible任务输出的联接操作。我的输出如下: { “可解释的事实”:{ “服务器及其状态”:[ { “名称”:“服务器1”, “会话”:“已启用” }, { “名称”:“服务器2”, “会话”:“已启用” } ] }, “更改”:错误 } 我希望输出的格式为: { 服务器1:“已启用” 服务器2:“已启用” } 我尝试了许多方法来获得任务的输出,如下所示,但运气不佳: -name:获取服务器详细信息 设定事实: 服务器及其状态:{{jsondata1}json|u查询({

我需要帮助来执行Ansible任务输出的联接操作。我的输出如下:

{
“可解释的事实”:{
“服务器及其状态”:[
{
“名称”:“服务器1”,
“会话”:“已启用”
},
{
“名称”:“服务器2”,
“会话”:“已启用”
}
]
},
“更改”:错误
}
我希望输出的格式为:

{
服务器1:“已启用”
服务器2:“已启用”
}
我尝试了许多方法来获得任务的输出,如下所示,但运气不佳:

-name:获取服务器详细信息
设定事实:
服务器及其状态:{{jsondata1}json|u查询({data.member[].nodes[].{name:name,session:sessionStatus}'))|连接(':','name','session')}
如何实现这一点?

使用过滤器,例如

-设置事实:
srv_stat:“{{server_和_其_状态|
items2dict(key_name='name',value_name='session')}”
给予

srv_stat:
服务器1:已启用
服务器2:已启用

感谢Vladimit提供的完美解决方案。它像预期的那样工作!!