【发布时间】:2019-02-09 22:46:19
【问题描述】:
有一个简单的 JSON 文件,sample.json,内容如下:
{
"test": {
"domain": [
{
"name": "cluster1"
}
]
}
}
使用 Ansible,我想查询 test 键,它适用于以下 Ansible 剧本。
---
- 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,并将 ansible 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 documentation,但对我来说没有意义。
如何确保 JMESpath 在 Ansible 查询中使用正斜杠。
【问题讨论】: