假设input.json
是:
{
"useless": "stuff",
"deleteMe": [
{
"foo": "bar",
"baz": "fizz"
}
]
}
我希望它看起来像
{
"foo": "bar",
"baz": "fizz"
}
换句话说,我想删除父项,但保留子项。我对jq 'del()'
有很多了解,但这似乎在我的测试中也删除了这些子级。如果我知道所有子元素的名称,则可以将它们提取到一个新对象中,但是键的列表各不相同,因此我希望有一个更全局的方法。除了孩子,我该如何删除所有东西?
答案 0 :(得分:0)
一种可能的解决方案是将jq与sponge
结合使用,例如
< input.json jq '.deleteMe[0]' | sponge input.json
还有其他一些非常合理的解决方案,部分取决于具体要求,例如
< input.json jq '.deleteMe[]' > input.tmp && mv input.tmp input.json