Filter 查找jq筛选器以基于嵌套特性的值排除嵌套对象

Filter 查找jq筛选器以基于嵌套特性的值排除嵌套对象,filter,nested,key,jq,Filter,Nested,Key,Jq,鉴于这一投入: { "10000703": { "show_id": 1641788, }, "10000838": { "show_id": 1517903, }, "10001325": { "show_id": 1641788, }, } 我正在寻找一个过滤器,它会说“返回show_id不等于1641788的所有对象” 预期产出将是: { "10000838": { "show_id": 1517903, }, } 无法排

鉴于这一投入:

{
  "10000703": {
    "show_id": 1641788,
  },
  "10000838": {
    "show_id": 1517903,
  },
  "10001325": {
    "show_id": 1641788,
  },
}
我正在寻找一个过滤器,它会说“返回
show_id
不等于
1641788
的所有对象”

预期产出将是:

{
  "10000838": {
    "show_id": 1517903,
  },
}

无法排除嵌套对象:(

这是一个很好的例子,说明了
与_entries/1
的便利性以及jq的简洁性:

with_entries( select(.value.show_id != 1641788 ))
with_entries/1
将对象转换为显式.key/.value表示形式。有关详细信息,请参阅

或者,在这种情况下,还可以更简洁地使用
del/1

del( .[] | select( .show_id == 1641788 ) )

问:你试过什么?我试过很多东西,包括
walk/1
del()
,但是
是我需要的。