在Ansible中,json_query用于从JSON输出中查询值。下面是一个包含代码示例的解决方法:
- name: 使用json_query查询值
hosts: localhost
gather_facts: False
tasks:
- name: 创建一个包含JSON数据的变量
set_fact:
json_data: '{"employees": [{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]}'
- name: 使用json_query查询值
debug:
msg: "年龄大于等于30的员工姓名:{{ json_data | json_query('employees[?age>=`30`].name') }}"
在上面的示例中,我们首先使用set_fact模块创建了一个包含JSON数据的变量json_data。然后,我们使用json_query过滤器从json_data中查询年龄大于等于30的员工姓名。最后,使用debug模块打印查询结果。
请确保在运行示例代码之前已安装ansible和jmespath插件。可以使用以下命令安装jmespath插件:
pip install jmespath