Ich benutze ansible 2.4.0 unter OSX. Das folgende Textbuch ...Ansible json_query gibt eine Liste aus, wenn ein Filterausdruck verwendet wird
---
- hosts: localhost
connection: local
gather_facts: False
vars:
data:
- name: thing1
desc: I am thing 1
- name: thing2
desc: I am thing 2
tasks:
- debug: msg="{{ data|json_query(\"[1].desc\") }}"
- debug: msg="{{ data|json_query(\"[?name=='thing2'].desc\") }}"
erzeugt die folgende Ausgabe:
PLAY [localhost] ***************************************************************
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "I am thing 2"
}
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": [
"I am thing 2"
]
}
PLAY RECAP *********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
Meine Frage ist, warum in der zweiten Debug-Aufgabe ist die Ausgabe in einer Liste ([])?