List 以dict形式访问列表的元素

List 以dict形式访问列表的元素,list,ansible,ansible-2.x,List,Ansible,Ansible 2.x,我试图访问列表的元素,但每当我试图访问它的元素时,它们都被视为文本(请参阅调试输出) 如何循环内容[0]的元素 ansible版本:2.5.1 playbook.yml: - hosts: localhost gather_facts: no vars: content: [] tasks: - name: Call the Consul API to get all registered services uri: url: "https

我试图访问列表的元素,但每当我试图访问它的元素时,它们都被视为文本(请参阅调试输出)

如何循环内容[0]的元素

ansible版本:2.5.1

playbook.yml:

- hosts: localhost
  gather_facts: no
  vars:
    content: []
  tasks:
    - name: Call the Consul API to get all registered services
      uri:
        url: "https://{{API_URL}}/v1/health/service/{{item}}?Status=critical"
        headers:
          Authorization: "Bearer {{TOKEN}}"
        method: GET
        return_content: yes
        status_code: 200
        body_format: json
        force: yes
      register: r
      with_items:
        - service1
        - service2
    - set_fact:
        content: "{{ lookup('flattened', r | json_query('results[*].content')) }}"
    - debug:
        msg: "{{ content[0][0] | type_debug }}"
    - debug:
        msg:  "{{ item | type_debug  }}"
      with_items: "{{ content[0] }}"
调试输出:

TASK [debug]
ok: [127.0.0.1] => {
    "msg": "dict"
}

TASK [debug]
ok: [127.0.0.1] => (item=None) => {
    "msg": "AnsibleUnsafeText"
}
我希望这个问题和答案能对你们有所帮助。我认为你采取的方法是问题所在