我想从这个带有ansible的json输出中只获取名称(nam1e,name2)
{
"query":{
"app":"app1",
"env":"app2",
"type":"app3"
},
"result":[
{
"name":"name1",
"yyy":"xxxxxxx",
"yyy":[
"xxx"
]
},
{
"name":"name2",
"yyy":"xxxxxxx",
"yyy":[
"xxx"
]
}
]
}
这是我的task.yml(url / json重新输出json输出)
uri:
url: "url/json"
method: GET
force: yes
return_content: yes
status_code:
- 200
- 500
register: registered_variable
那么如何解析这个json以获取名称,我在registered_variable中注册了json输出。
答案 0 :(得分:0)
这未在uri模块的文档中记录:http://docs.ansible.com/ansible/latest/uri_module.html
但是当返回有效的json时,它会被解组到结果的json
键中。
我看到你已经注册了,所以你应该能够访问你想要的fild:registered_variable.json.result[0].name
和registered_variable.json.result[1].name
,我不确定你是否总是期望该数组中有两个元素,所以由你来处理。