我正在尝试从这个JSON输出中提取特定的键/值
{
"result": {
"results": [
{
"changed": false,
"datacenter_info": [
{
"name": "DC_1",
"moid": "datacenter-2",
"config_status": "gray",
"overall_status": "gray"
}
],
"invocation": {
"module_args": {
"hostname": "vcenter_hostname_1",
"username": "XXXXX",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"validate_certs": false
}
},
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"failed": false,
"item": "vcenter_hostname_1",
"ansible_loop_var": "item"
},
{
"changed": false,
"datacenter_info": [
{
"name": "DC_2_A",
"moid": "datacenter-2",
"config_status": "gray",
"overall_status": "gray"
},
{
"name": "DC_2_B",
"moid": "datacenter-3",
"config_status": "gray",
"overall_status": "gray"
},
{
"name": "DC_2_C",
"moid": "datacenter-3",
"config_status": "gray",
"overall_status": "gray"
}
],
"invocation": {
"module_args": {
"hostname": "vcenter_hostname_2",
"username": "XXXXX",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"validate_certs": false
}
},
"failed": false,
"item": "vcenter_hostname_2",
"ansible_loop_var": "item"
}
],
"msg": "All items completed",
"changed": false
},
"_ansible_verbose_always": true,
"_ansible_no_log": false,
"changed": false
}预期输出为:
{
[
{
"datacenter_info": [
{
"name": "DC_1",
"moid": "datacenter-1",
"config_status": "gray",
"overall_status": "gray"
}
"vcenter": "vcenter_hostname_1",
},
{
"datacenter_info": [
{
"name": "DC_2_A",
"moid": "datacenter-2",
"config_status": "gray",
"overall_status": "gray"
},
{
"name": "DC_2_B",
"moid": "datacenter-3",
"config_status": "gray",
"overall_status": "gray"
},
{
"name": "DC_2_C",
"moid": "datacenter-4",
"config_status": "gray",
"overall_status": "gray"
}
],
"vcenter": "vcenter_hostname_2"
}
]
}我试过了:
- name: Append string to list
set_fact:
formatted: "{{ formatted + [ item.item ] + [ item.datacenter_info ] }}"它非常接近,但我无法插入密钥vcenter,并且我丢失了密钥datacenter_info。
发布于 2021-01-19 12:08:14
我不知道formatted包含了什么,但我相信你要找的是:
- name: Append string to list
set_fact:
formatted: '{{ formatted + [{"vcenter": item.item, "datacenter_info": item.datacenter_info}] }}'
with_items: '{{ result.results }}'https://stackoverflow.com/questions/65778893
复制相似问题