鉴于以下playbook从一些随机webservice中获取一些数据:
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
Ansible正在重新排序json输出:
输出(数组的第一个元素,重新排序):
{{1}}
原始数据是:
{{1}}
如何获得一个不重新排序的漂亮的格式化JSON? (我见过this question,如果可能的话,它仍然会很好)
答案 0 :(得分:2)
Ansible不会更改result.content
的值并匹配API响应。
您可以使用以下方法轻松测试:
- copy:
content: "{{ result.content | string }}"
dest: /tmp/raw.json
但是当您使用{{ result.content }}
显示该值时,会触发Ansible类型检测机制,该机制将JSON字符串转换为对象(无序),然后打印对象的值(非原始值)。
要防止类型检测,您可以使用| string
过滤器。
另请参阅this answer了解更多详情。