我有一个包含summary字段和其他字段的 JSON 行文件。我想使用 JQ 删除所有汇总字段。这是我的输入:
{"object1": {"summary":"Some summary I want removing", "keepMe":"please"}}
{"object2": {"summary":"Delete me too!", "keepMe":"pretty please"}}
Run Code Online (Sandbox Code Playgroud)
这是所需的输出:
{"object1": {"keepMe":"please"}}
{"object2": {"keepMe":"pretty please"}}
Run Code Online (Sandbox Code Playgroud)
Q 有几种可能的解释。
解决最简单解释的一种简单方法是使用:
map_values(del(.summary))
Run Code Online (Sandbox Code Playgroud)
如果您想在任何地方消除“摘要”字段,无论嵌套有多深,那么我都会使用walk/1,例如
walk(if type == "object" then del(.summary) else . end)
Run Code Online (Sandbox Code Playgroud)