gpt4 book ai didi

json - 在 Ansible json_query 中使用项目

转载 作者:行者123 更新时间:2023-12-02 16:31:55 24 4
gpt4 key购买 nike

我正在尝试遍历键列表以从一些 json 中获取关联的名称:

- name: show names
debug:
msg: "{{ data.json | json_query(query) }}"
vars:
query: "[? key==item].name"
with_items: "{{ keys.split() }}"

但是当我尝试运行它时,它从未正确显示。 key 正确,但没有返回数据:

TASK [get_help_on_SO: show] 
ok: [localhost] => (item=Key1) => {
"msg": []
}
ok: [localhost] => (item=Key2) => {
"msg": []
}

手动输入代码效果很好,所以我的查询语法似乎是正确的:

query: "[? key==`Key1`].name"

TASK [get_help_on_SO : show]
ok: [localhost] => (item=Key1) => {
"msg": [
"FooBar 1"
]
}
ok: [localhost] => (item=Key2) => {
"msg": [
"FooBar 1"
]
}

如何将 item 正确传递到 json_query 中?

最佳答案

您没有用任何 Jinja 定界符将 item 变量括起来,因此它不会被解释。
如果 key 等于字符串 'item' 而不是存储在变量 item 中的字符串,则结束测试。

- name: show names
debug:
msg: "{{ data.json | json_query(query) }}"
vars:
query: "[?key==`{{ item }}`].name"
with_items: "{{ keys.split() }}"

关于json - 在 Ansible json_query 中使用项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63348592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com