如果密钥存在,则在Ansible中剥离json对象

时间:2017-11-24 12:52:14

标签: ansible jinja2 ansible-template

假设我有一个像这样的json对象:

{
 "results": [ 
    {
    "failed": "no",
    "data": "another string"
    },
    "failed": "no", 
    "skipped": true
    }
 }

有没有办法去掉任何有"跳过的对象的json"在ansible剧本中定义?所以我会有

{
 "results": [ 
    {
    "failed": "no",
    "data": "another string"
    }
}

2 个答案:

答案 0 :(得分:1)

使用rejectattr过滤器:

{ results | rejectattr('skipped') | list }

答案 1 :(得分:1)

回答字面请求:

  

去掉任何有"跳过的对象的json"定义

{{ results | rejectattr('skipped','defined') | list }