โดยสรุป คุณจะได้รับผลลัพธ์ด้วยนิพจน์เดียวโดยไม่มีการวนซ้ำ
Playbook ต่อไปนี้:
---
- โฮสต์: localhost
  Gather_facts: เท็จ
  วาร์:
    # ข้อมูลต้นฉบับของคุณในบรรทัดเดียวเพื่อความชัดเจน
    result_clusters:
      หยุด: >-
        {"clusters":{"Cluster_1":{"hosts":[{"folder":"/path","name":"host1.domain.com"},{"folder":"/path"," name":"host2.domain.com"}]},"Cluster_2":{"hosts":[{"folder":"/path","name":"host3.domain.com"},{"folder ":"/path","name":"host4.domain.com"}]}}}
  งาน:
    - ชื่อ: รับผลลัพธ์ที่คาดหวังจากข้อมูล json ในงานเดียว
      วาร์:
        สอบถาม: >-
          [].{ชื่อ: คีย์ โฮสต์: เข้าร่วม(', ', value.hosts[].name)}
        คลัสเตอร์: "{{ (result_clusters.stdout | from_json).clusters }}"
      แก้ปัญหา:
        msg: "{{ คลัสเตอร์ | dict2items | json_query(query) }}"
ให้:
เล่น [โฮสต์ในพื้นที่] *********************************************** ********
TASK [รับผลลัพธ์ที่คาดหวังจากข้อมูล json ในงานเดียว] *********
ตกลง: [localhost] => {
    "ข้อความ": [
        {
            "โฮสต์": "host1.domain.com, host2.domain.com",
            "ชื่อ": "Cluster_1"
        },
        {
            "โฮสต์": "host3.domain.com, host4.domain.com",
            "ชื่อ": "Cluster_2"
        }
    ]
}
เล่น RECAP ************************************************ ************
localhost: ตกลง = 1 เปลี่ยนแปลง = 0 ไม่สามารถเข้าถึงได้ = 0 ล้มเหลว = 0 ข้าม = 0 ช่วยแล้ว = 0 ละเว้น = 0
หมายเหตุ: แม้ว่าข้อมูลข้างต้นจะให้ผลลัพธ์ที่คุณขออย่างแม่นยำมาก แต่ฉันสงสัยอย่างยิ่งว่าคุณกำลังมองหาผลลัพธ์ที่แตกต่างออกไปเล็กน้อย แทนที่ข้อความค้นหาด้านบนด้วย:
        สอบถาม: >-
          [].{ชื่อ: คีย์ โฮสต์: value.hosts[].name}
จะให้สิ่งนี้แทน:
TASK [รับผลลัพธ์ที่คาดหวังจากข้อมูล json ในงานเดียว] ************************************ ************************************************** ************************************************** **********************************
ตกลง: [localhost] => {
    "ข้อความ": [
        {
            "โฮสต์": [
                "host1.domain.com",
                "host2.domain.com"
            ],
            "ชื่อ": "Cluster_1"
        },
        {
            "โฮสต์": [
                "host3.domain.com",
                "host4.domain.com"
            ],
            "ชื่อ": "Cluster_2"
        }
    ]
}