【发布时间】:2022-11-19 11:33:13
【问题描述】:
我在从某个模块获得的输出中过滤数组时遇到问题。 所以下面是我将它放入某个变量的模块的输出,然后我只想显示/打印该变量的特定值。也许你们可以帮助我?
{
"extraConfig": [
{
"_vimtype": "vim.option.OptionValue",
"key": "svga.guestBackedPrimaryAware",
"value": "TRUE"
},
{
"_vimtype": "vim.option.OptionValue",
"key": "guestOS.detailed.data",
"value": "bitness='64' distroName='Red Hat Enterprise Linux' distroVersion='8.2' familyName='Linux' kernelVersion='4.18.0-193.el8.x86_64' prettyName='Red Hat Enterprise Linux 8.2 (Ootpa)'"
}
]
}
以上是变量的值概括,那么我只想得到prettyName='红帽企业 Linux 8.2 (Ootpa)', 可能吗?
我试过使用?包含但仍然得到空值,然后我在下面尝试了这个但得到了错误:
致命的:[本地主机]:失败! => {"msg": "jmespath.search in json_query filter plugin:\n'method' object is not iterable"}
- debug: msg: "{{ vmhost_info | json_query(query) }}" vars: keyvar: 'guestOS.detailed.data' query: "instance.config.extraConfig[?key == '{{ keyvar }}'].value"
【问题讨论】: