我需要在 json_query 过滤器中传递一个变量。

此示例使用固定字符串,工作正常 (string=tutu):

- set_fact:
 my_value_exist: "{{ my_json.json | json_query('contains(component.name,`tutu`)')}}"

但我需要传递一个变量,而不是 tutu
- set_fact:
 my_value_exist: "{{ my_json.json | json_query('contains(component.name,`{{my_var}}`)')}}"

{{my_var}} 是在上一步中检索到的字符串

您是否有正确的语法,以便可以在参数中正确传递变量 {{my_var}} ?

谢谢你的帮助。

问候,

最佳答案

对任务使用辅助变量:

- set_fact:
    my_value_exist: "{{ my_json.json | json_query(qry) }}"
  vars:
    qry: 'contains(component.name,`{{my_var}}`'

关于json - Ansible : pass a variable in a json_query filter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46038985/

10-13 01:27