Ansible使用“json_query”过滤器来格式化JSON数据。首先,确保您已经安装了“jmespath” Python模块,以便能够使用此过滤器。接下来,使用以下示例代码来演示如何使用“json_query”过滤器来格式化JSON数据。
- name: Format JSON using json_query filter
hosts: localhost
vars:
my_json_data: '{"people": [{"name": "John", "age": 42}, {"name": "Jane", "age": 35}]}'
tasks:
- debug:
var: my_json_data | from_json | json_query('people[*].name')
在上面的示例中,“my_json_data”是一个包含JSON数据的字符串。然后,使用“from_json”过滤器将其转换为JSON对象,并使用“json_query”过滤器选择其中的一些数据(在此示例中,是“people”对象中所有人的名字)。最后,使用“debug”模块输出所选数据。
运行该代码后,您将会看到以下输出:
TASK [debug] *************************************************************************************
ok: [localhost] => {
"my_json_data | from_json | json_query('people[*].name')": [
"John",
"Jane"
]
}
因此,在使用Ansible时,可以使用“json_query”过滤器来格式化JSON数据。