【发布时间】:2017-07-26 21:13:42
【问题描述】:
如何递归删除与给定模式匹配的所有键?
我有以下 jq 配置,但它似乎不起作用:
walk( if (type == "object" and (.[] | test('.*'))) then del(.) else . end)
【问题讨论】:
标签: json recursion key jq tree-traversal
如何递归删除与给定模式匹配的所有键?
我有以下 jq 配置,但它似乎不起作用:
walk( if (type == "object" and (.[] | test('.*'))) then del(.) else . end)
【问题讨论】:
标签: json recursion key jq tree-traversal
删除所有匹配模式(比如 PATTERN)的键的稳健方法(相对于不同的 jq 版本)是使用成语:
with_entries(select( .key | test(PATTERN) | not))
将其插入walk/1 会产生:
walk(if type == "object" then with_entries(select(.key | test(PATTERN) | not)) else . end)
【讨论】: