Python 可解析嵌套字典处理
我有以下任务Python 可解析嵌套字典处理,python,ansible,Python,Ansible,我有以下任务 - debug: msg: "Here: {{ item['containers'] }}" with_items: "{{ container_matrix['results'] }}" 它返回一个包含容器名称及其启动参数的字典。 比如:{“container-1”:{“docker_run”:“docker run-p80:80nginx”,“env_文件”:“config1.env”}, “container-2”:{“docker_run”:“dock
- debug:
msg: "Here: {{ item['containers'] }}"
with_items: "{{ container_matrix['results'] }}"
它返回一个包含容器名称及其启动参数的字典。
比如:{“container-1”:{“docker_run”:“docker run-p80:80nginx”,“env_文件”:“config1.env”},
“container-2”:{“docker_run”:“docker run-p8080:80nginx”,“env_文件”:“config2.env”}
但是我实际上想提取容器名及其env_文件
container_1 -> config1.env
container-2 -> config2.env
我尝试了几种方法,但似乎没有一种有效
- debug:
msg: "Here: {{ item }}"
with_dict: "{{ container_matrix['results'].'containers'] }}"
他也在失败
有人能给我指引正确的方向吗。给定“一个包含容器名称及其启动参数的字典。比如”
任务
- set_fact:
mydata: "{{ containers|
dict2items|
json_query('[].{name: key, env_file: value.env_file}') }}"
- debug:
var: mydata
给予
- set_fact:
mydata: "{{ containers|
dict2items|
json_query('[].{name: key, env_file: value.env_file}') }}"
- debug:
var: mydata
"mydata": [
{
"env_file": "config1.env",
"name": "container-1"
},
{
"env_file": "config2.env",
"name": "container-2"
}
]