如下所示的JSON数据,我想在不更改结构的情况下丢弃“ bar” =“ cccc”时。
{
"foofoo": {
"barbar": [
{
"foo": "0000",
"bar": "aaaa"
},
{
"foo": "1111",
"bar": "bbbb"
},
{
"foo": "2222",
"bar": "cccc"
}
]
}
}
这样的东西可以解决问题,但会改变JSON结构。
.foofoo.barbar[] | select(.bar !="cccc")
导致:
{
"foo": "0000",
"bar": "aaaa"
}
{
"foo": "1111",
"bar": "bbbb"
}
所需的结果是:
{
"foofoo": {
"barbar": [
{
"foo": "0000",
"bar": "aaaa"
}
{
"foo": "1111",
"bar": "bbbb"
}
]
}
}
谢谢!
答案 0 :(得分:2)
尝试的问题是您通过编写.foofoo.barbar []扩展了.foofoo.barbar。
您想要的是重置它:
.foofoo.barbar |= map(select(.bar !="cccc"))