带有json输出的Ansible playbook

带有json输出的Ansible playbook,ansible,Ansible,我是ansible新手,在将变量传递到json_查询以从json数组读取元素时遇到了问题 工作线: Interface:{{ result.json | json_query('[2]')}}" 我想用数字2替换一个将发生变化的变量 我试过: - name: Interfaces debug: msg: - Interface:{{ result.json | json_query('[ item ]')}}" with_sequence: start=2 end=5

我是ansible新手,在将变量传递到json_查询以从json数组读取元素时遇到了问题

工作线:

Interface:{{ result.json | json_query('[2]')}}"
我想用数字2替换一个将发生变化的变量

我试过:

- name: Interfaces
  debug:
    msg:
    - Interface:{{ result.json | json_query('[ item ]')}}"
  with_sequence: start=2 end=5
但它失败了


提前谢谢

我相信你很接近,但你真正想要的是:

- debug:
    msg:
    - Interface: "{{ result.json | json_query('[' + item + ']') }}"
  with_sequence: count=3

您是正确的,在jinja2 mustaches中,
项是一个变量,但是python不会自动连接东西,因此您必须明确要求将
“[”
连接在一起

您可以同时提供:调试任务的输出
-debug:var=result
和失败任务的输出:[localhost]:FAILED!=>{“msg”:“json中的jmespath.search中出错\u查询筛选器插件:\nunhashable type:'list'}您好,用户10761553,欢迎使用SO。如果您严格注意问题的格式,您将获得更好的成功。我们无法猜测您是否已取消开头
是否在您的实际行动手册中。这使得为您提供答案比必要的更困难。在您提出建议后,它现在正在发挥作用。谢谢您,先生!