gpt4 book ai didi

json - 使用 jq 从父对象中删除一个键

转载 作者:行者123 更新时间:2023-12-04 23:38:23 25 4
gpt4 key购买 nike

我刚刚在玩JQ, a JSON command line tool .我一直无法找到可以帮助我解决相对简单问题的资源。

用例是我的 JSON 文件有各种我不需要的额外东西(超过 500 mb),如果我可以删除特定键的数据,它会将其减少到近 1 mb。

假设我有以下 JSON:

{
"pages": {
"elems": { ... stuff ... }
},
"actions": {
"pages": { ... stuff ... }
}
}

我会运行什么样的命令来删除第一级 pages整个对象和键,但保留较低级别 pages完整?

预期输出:
{
"actions": {
"pages": { ... stuff ... }
}
}

我试着跑: jq -c 'del(.pages)' myfile.json >outputfile.json但它似乎破坏了所有名为 pages 的子键。同样,导致类似:
{
"actions": {}
}

任何帮助,将不胜感激。

最佳答案

我相信您最初的尝试应该按预期进行。这是我尝试时得到的:

$ jq 'del(.pages)' myfile.json
{
"actions": {
"pages": {
"stuff": "..."
}
}
}
Try it online at jqplay.org
要删除所有页面,您需要类似的东西
$ jq 'del(.. | .pages?)' myfile.json
{
"actions": {}
}
Try it online at jqplay.org

关于json - 使用 jq 从父对象中删除一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47023795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com