Существует простой JSON-файл sample.json
со следующим содержимым:
{
"test": {
"domain": [
{
"name": "cluster1"
}
]
}
}
В Ansible я хочу запросить ключ test
, который работает со следующей Ansible playbook.
---
- hosts: localhost
vars:
tmpdata: "{{ lookup('file','sample.json') | from_json }}"
- debug:
msg: "{{ tmpdata | json_query('test') }}"
Воспроизведение
ok: [localhost] => {
"msg": {
"domain": [
{
"name": "cluster1"
}
]
}
}
Однако, когда они вводят файл JSON, они изменяются с test
на test/something
, а ответное json_query с test
на test/something
также Ansible / JMESPath выдает ошибку.
fatal: [localhost]: FAILED! => {"msg": "JMESPathError in json_query filter plugin:\nBad jmespath expression: Unknown token /:\ntest/something\n ^"}
Я изучил документацию JMESpath , но для меня это не имеет смысла.
Как я могу убедиться, что JMESpath работает с косой чертой в запросе Ansible.