Ansible解析JSON输出

Ansible解析JSON输出,ansible,ansible-2.x,ansible-inventory,Ansible,Ansible 2.x,Ansible Inventory,我试图解析Ansible输出,并打印一个值 - name: Creating a new instance os_server: state: present auth: auth_url: "{{ auth_url }}" username: "{{ username }}" password: "{{ password }}" project_name: "{{ project_name }}" name: "{{ item.hostname }}" image:

我试图解析Ansible输出,并打印一个值

- name: Creating a new instance
  os_server:
  state: present
  auth:
  auth_url: "{{ auth_url }}"
  username: "{{ username }}"
  password: "{{ password }}"
  project_name: "{{ project_name }}"
name: "{{ item.hostname }}"
image: "{{ item.image }}"
nics: "{{ nics }}"
with_items: "{{ servers }}"
register: "os"
输出:

"server": {
    "OS-DCF:diskConfig": "MANUAL", 
    "OS-EXT-AZ:availability_zone": "zoneA", 
    "OS-EXT-STS:power_state": 1, 
    "OS-EXT-STS:task_state": null, 
    "OS-EXT-STS:vm_state": "active", 
    "OS-SRV-USG:launched_at": "2018-04-01T18:53:16.000000", 
    "OS-SRV-USG:terminated_at": null, 
    "accessIPv4": "10.190.230.23", 
    "accessIPv6": "", 
    "addresses": {
        "provider_corenet_bif_757": [
            {
                "OS-EXT-IPS-MAC:mac_addr": "fa:1:3:3:5e:6a", 
                "OS-EXT-IPS:type": "fixed", 
                "addr": "10.19.23.23", 
                "version": 4
            }
        ], 
        "provider_nmnet_bif_912": [
            {
                "OS-EXT-IPS-MAC:mac_addr": "fa:1:3:39:b:57", 
                "OS-EXT-IPS:type": "fixed", 
                "addr": "10.25.13.64", 
                "version": 4
            }
        ]

      server.addresses.provider_nmnet_bif_912.addr

    },
我想解析addr“10.25.13.64”

我尝试了{{item.server.addresses.provider_nmnet_bif_912.addr}}和{{os.server.addresses.provider_nmnet_bif_912.addr}}两种方法都不起作用


需要帮助

终于明白了:

“{{item.server.addresses.provider\u nmnet\u bif\u 912[0].addr}”


运行debug:var=os,看看里面有什么。同时阅读JSON中的
{}
[]
的意思。我无法解析,我尝试了几种方法。嘿,你能打印完整的解决方案吗?我的语法有问题。比如你的任务看起来怎么样?