我从 Ansible 任务之一得到如下字典输出“
msg": {
"vSwitch0": {
"failback": true,
"failover_active": [
"vmnic1",
"vmnic0"
],
"failover_standby": [],
"failure_detection": "link_status_only",
"lb": "loadbalance_srcid",
"mtu": 1500,
"notify": true,
"num_ports": 128,
"pnics": [
"vmnic0",
"vmnic1"
],
"security": [
false,
false,
false
],
"ts": false
}
}
}
我正在尝试通过将上述输出存储在变量中作为“all_vswitch_info”并尝试提取 pnics 列表来使用 Json 查询,如下所示,当我现在使用下面的内容时,
- 调试:味精:“{{all_vswitch_info| json_query('pnics')}}”
我得到的是空值
ok: [localhost] => {
"msg": ""
}
注意:我尝试使用其他选项作为 msg: "{{all_vswitch_info| json_query('[].pnics')}}" 但我仍然得到相同的结果
ok: [localhost] => {
"msg": ""
}
有什么遗漏吗?注意:此特定输出具有 vSwitch0。在某些情况下,这可能是 vswitch23 或 vswitch 3 之类的任何名称或其他名称。我不能在 json_query 中将名称硬编码为 vSwitch0。但是,pnics是不会因目标机器而改变的属性名称。