gpt4 book ai didi

json - 从匹配特定键的 JSON 中删除所有值

转载 作者:行者123 更新时间:2023-11-29 09:12:33 24 4
gpt4 key购买 nike

通过特定标签/键从整个 JSON 中删除任意值的简单方法是什么?我的 JSON 可能具有任意深度,因此应该递归地删除标签。

{
"root": [
{
"name": "blah 1",
"remove": [ 1, 2, 3 ],
"new list": [
{
"name": "blah 2",
"remove": null,
"new list": [
{
"name": "blah 3",
"remove": [
{
"name": "blah 4",
"new list": []
},
{
"name": "blah 5",
"new list": []
}
]
}
]
},
{
"name": "blah 6",
"new list": []
}
]
}
]
}

并且我想删除所有标签为"remove"的元素,这样最终的结果将如下所示:

{
"root": [
{
"name": "blah 1",
"new list": [
{
"name": "blah 2",
"new list": [
{
"name": "blah 3"
}
]
},
{
"name": "blah 6",
"new list": []
}
]
}
]
}

使用 sed/awk 会产生意想不到的结果(尤其是当有嵌套对象要删除时),因此它必须是 JSON 感知实用程序,如 jq 或类似工具。

最佳答案

这在 jq 中得到了预期的结果。

jq 'del(..|.remove?)'

关于json - 从匹配特定键的 JSON 中删除所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57611682/

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