用可靠的语法parsingjson

这是寄存器的内容来自:

- debug: var: vmfacts.virtual_machines ok: [localhost] => { "vmfacts.virtual_machines": { "2k12r2-k11": { "guest_fullname": "Microsoft Windows Server 2012 (64-bit)", "ip_address": "10.0.1.20", "mac_address": [ "00:50:56:00:00:20" ], "power_state": "poweredOn", "uuid": "421d5210-8a64-2d60-8b44-02de952600d1" }, 

下面的工作正常,但我需要从上面的uuid的价值

 - shell: "echo {{ item }}" with_items: "{{ vmfacts.virtual_machines }}" 

似乎无法解码的语法,这些似乎没有工作:

“echo {{item.uuid}}”“echo {{item.0.uuid}}”“echo {{item [0] .uuid}}”

访问uuid值的正确方法是什么?

vmfacts.virtual_machines是一个dict

当应用于dict时, with_items仅在其键上进行迭代。

所以:

 - shell: "echo {{ vmfacts.virtual_machines[item].uuid }}" with_items: "{{ vmfacts.virtual_machines }}" 

或者更好的使用with_dict

 - shell: "echo {{ item.value.uuid }}" with_dict: "{{ vmfacts.virtual_machines }}"