Ksh*_*rma 6 recursion json key tree-traversal jq
如何递归删除与给定模式匹配的所有键?
我有以下jq配置,但它似乎不起作用:
walk( if (type == "object" and (.[] | test('.*'))) then del(.) else . end)
Run Code Online (Sandbox Code Playgroud)
一个强大的方式(相对于不同的JQ版本),可删除模式匹配(比如PATTERN)所有的键是使用成语:
with_entries(select( .key | test(PATTERN) | not))
Run Code Online (Sandbox Code Playgroud)
代入这个walk/1收益率:
walk(if type == "object" then with_entries(select(.key | test(PATTERN) | not)) else . end)
Run Code Online (Sandbox Code Playgroud)