【发布时间】:2017-10-30 20:38:53
【问题描述】:
我刚刚在玩JQ, a JSON command line tool。我找不到可以帮助我解决相对简单问题的资源。
用例是我的 JSON 文件包含各种我不需要的额外内容(超过 500mb),如果我可以杀死特定密钥的数据,它会将其减少到近 1mb。
假设我有以下 JSON:
{
"pages": {
"elems": { ... stuff ... }
},
"actions": {
"pages": { ... stuff ... }
}
}
我会运行什么样的命令来删除第一级 pages 整个对象和键,但保留较低级别的 pages 原样?
预期输出:
{
"actions": {
"pages": { ... stuff ... }
}
}
我试过跑步:jq -c 'del(.pages)' myfile.json >outputfile.json
但它似乎也破坏了所有名为 pages 的子键,导致类似:
{
"actions": {}
}
任何帮助将不胜感激。
【问题讨论】:
-
在 jq 1.5 上运行良好。无法还原
-
也适用于 jq 1.3 和 jq 1.4 (!)
标签: json command-line jq