Python ansible json输出

2024-06-25 23:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了json输出。如何获取可以存储为变量的键

样品:

"plays": [
{
    "tasks": [
        {
          "hosts": {
            "sw01": {
              "_ansible_no_log": false,
              "action": "set_fact",
              "ansible_facts": {
                "OS": "ios"
              },
              "changed": false
            }
          }
    ]
}]

获取变量:

^{pr2}$

喜欢获取:sw01并存储为主机名。然后获取OS值。 谢谢你的帮助


Tags: nologjsonfalseos样品actionansible
1条回答
网友
1楼 · 发布于 2024-06-25 23:27:31

这是完整的版本

import json

data = """{
        "plays": [
            {
                "tasks": [
                    {
                    "hosts": {
                                "sw01": {
                                "_ansible_no_log": false,
                                "action": "set_fact",
                                "ansible_facts": {
                                    "OS": "ios"
                                },
                                "changed": false
                                }
                    }
                    }]
            }]
        }"""

output = json.loads(data)

hosts = output['plays'][0]['tasks'][0]['hosts']
for host in hosts.keys():
    print(host)

相关问题 更多 >