如何使用 Ansible 遍历二维列表?

How to iterate through two dimensions list with Ansible?

我有一个这样的变量:

"files": {
    "results": [
        {
            "files": [
                {
                    "path": "/etc/file1.xml", 
                }, 
                {
                    "path": "/etc/file2.xml", 
                }
            ]
        },
        {
            "files": [
                {
                    "path": "/etc/file2.xml", 
                }
            ]
        }, 
        {
            "files": []
        }
    }
}

如何遍历所有路径?

您不需要迭代二维来获取所有路径。
使用 map 过滤器来减少您的原始列表。

要从您的示例中获取简单的路径列表:

- debug: msg="{{ files.results | map(attribute='files') | sum(start=[]) | map(attribute='path') | list }}"