删除json中与特定值匹配的整个对象

删除json中与特定值匹配的整个对象,json,ansible,jq,Json,Ansible,Jq,我需要更新/编辑json格式的文件 所以,我想删除一个完整的对象,其中的名称有特定的值 这里,值的类型是 “名称”:“值1\u 1:值1\u 2” 这里,value1_1是我正在寻找的特定值 如果任何对象与值1_1匹配,我希望删除整个对象 是否可以使用ansible完成此操作,或者是否需要任何自定义更改 例如:这里我想删除第一个值为value1_1的对象 { “对象”:[ { “名称”:“值1\u 1:值1\u 2” }, { “名称”:“value2\u 1:value2\u 2” }, ]

我需要更新/编辑json格式的文件

所以,我想删除一个完整的对象,其中的名称有特定的值

这里,值的类型是 “名称”:“值1\u 1:值1\u 2”

这里,value1_1是我正在寻找的特定值

如果任何对象与值1_1匹配,我希望删除整个对象

是否可以使用ansible完成此操作,或者是否需要任何自定义更改

例如:这里我想删除第一个值为value1_1的对象

{
“对象”:[
{
“名称”:“值1\u 1:值1\u 2”
},
{
“名称”:“value2\u 1:value2\u 2”
},
],

}
JSON编辑任务使用起来很简单,所以让我先来看看 指向有关将jq与Ansible一起使用的网页:

有了这些,下面是用于过滤的jq过滤器 名称以“value1\u 1:”开头的对象:

请注意,一般来说,jq希望其输入是有效的JSON。 您可以通过在控制台上运行
jq empty input.json
来检查是否存在这种情况 促使如果输入的JSON不够有效,请参阅jq常见问题解答以获取建议:

例如,如果示例代码段是典型的,您可以通过运行以下命令来纠正伪JSON:

hjson -j snippet.txt
hjson -j snippet.txt