gpt4 book ai didi

json - 使用 Ansible 从 JSON 响应中提取字段

转载 作者:行者123 更新时间:2023-12-04 14:23:55 26 4
gpt4 key购买 nike

我有一个对页面执行 GET 请求的任务。响应的正文是如下所示的 JSON。

 {
"ips": [
{
"organization": "1233124121",
"reverse": null,
"id": "1321411312",
"server": {
"id": "1321411",
"name": "name1"
},
"address": "x.x.x.x"
},
{
"organization": "2398479823",
"reverse": null,
"id": "2418209841",
"server": {
"id": "234979823",
"name": "name2"
},
"address": "x.x.x.x"
}
]
}

我想提取字段 id 和 address,并尝试(对于 id 字段):
tasks:
- name: get request
uri:
url: "https://myurl.com/ips"
method: GET
return_content: yes
status_code: 200
headers:
Content-Type: "application/json"
X-Auth-Token: "0010101010"
body_format: json
register: json_response


- name: copy ip_json content into a file
copy: content={{json_response.json.ips.id}} dest="/dest_path/json_response.txt"

但我收到此错误:

字段“args”具有无效值,该值似乎包含一个变量
这是未定义的。错误是:“列表对象”没有属性“id”..

问题出在哪儿?

最佳答案

The error was: 'list object' has no attribute 'id'


json_response.json.ips是一个列表。

您需要选择一个元素(第一个?): json_response.json.ips[0].id .

或者例如使用 map 处理此列表或 json_query如果您需要所有 ID,请过滤。

关于json - 使用 Ansible 从 JSON 响应中提取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43003681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com