要访问字符串 JSON 数据,可以使用 Ansible 的 json_query
过滤器来解析 JSON 字符串,并通过指定的查询语法获取所需数据。
下面是一个示例代码,展示了如何使用 json_query
过滤器来访问字符串 JSON 数据:
---
- hosts: localhost
gather_facts: false
vars:
json_data: '{"name": "John", "age": 30, "city": "New York"}'
tasks:
- name: Parse JSON data
set_fact:
parsed_json: "{{ json_data | from_json }}"
- name: Access JSON data
debug:
msg: "Name: {{ parsed_json.name }}, Age: {{ parsed_json.age }}, City: {{ parsed_json.city }}"
在上面的示例中,首先将 JSON 字符串 json_data
转换为 Ansible 变量 parsed_json
,以便可以使用 json_query
过滤器对其进行解析。然后,使用 debug
模块打印所需的 JSON 数据。
运行上述代码将输出类似以下的结果:
TASK [Access JSON data] ******************************************************
ok: [localhost] => {
"msg": "Name: John, Age: 30, City: New York"
}
请注意,如果 JSON 字符串中包含数组和嵌套对象,可以使用更复杂的查询语法来访问它们。有关更多关于 json_query
过滤器的用法和查询语法的信息,可以参考 Ansible 官方文档的相关部分。