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"
}
]
}
}
谢谢!
发布于 2018-12-20 01:00:22
您尝试的问题是您已经通过编写.foofoo.barbar[]扩展了.foofoo.barbar。
相反,您需要的是重置它:
.foofoo.barbar |= map(select(.bar !="cccc"))
https://stackoverflow.com/questions/53855828
复制相似问题