小编Nic*_*las的帖子

使用jq从父对象中删除密钥

我现在正在玩JSON命令行工具JQ。我一直找不到能够帮助我解决一个相对简单问题的资源。

用例是我的JSON文件包含了我不需要的各种额外内容(超过500mb),如果我可以杀死特定密钥的数据,它将减少到将近1mb。

假设我有以下JSON:

{
  "pages": {
    "elems": { ... stuff ... }
  },
  "actions": {
    "pages": { ... stuff ... }
  }
}
Run Code Online (Sandbox Code Playgroud)

我将运行哪种命令来删除第一级的pages整个对象和密钥,但保留较低级别的pages原样?

预期产量:

{
  "actions": {
    "pages": { ... stuff ... }
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试运行:jq -c 'del(.pages)' myfile.json >outputfile.json 但这似乎也破坏了所有调用的子键pages,结果是:

{
  "actions": {}
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

command-line json jq

4
推荐指数
1
解决办法
2250
查看次数

标签 统计

command-line ×1

jq ×1

json ×1