关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
我有一个json
{
"content": [
{
"idnumber": "666",
"name": "mark",
"type": "band",
"tools": [
{
"idtools": "5657",
"blabla": null,
"blabla": false,
}
]
},
{
"idnumber": "666",
"name": "mark",
"type": "band",
"tools": [
{
"idtools": "5658",
"blabla": null,
"blabla": false
}
]
}
]
}
在content数组中,我有两个json。我想把我的json改成这个,因为它们有相同的id号。
{
"content": [
{
"idnumber": "666",
"name": "mark",
"type": "band",
"tools": [
{
"idtools": "5657",
"blabla": null,
"blabla": false,
},
{
"idtools": "5658",
"blabla": null,
"blabla": false
}
]
}
]
}
如何使用distinct或filter?
我试着区分它并绘制它,但仍然有错误。
1条答案
按热度按时间a5g8bdjr1#
假设以下对象与您的json结构匹配(为简洁起见,我使用lombok):
您可以将流api用于
groupingBy
由id
以及reduce
将这些值合并为一个值。由此产生的结构
Collectors.groupingBy(Content::getIdNumber)
是Map<Integer, List<Content>>
. Map值的后续可变缩减(Collection<List<Content>>
)合并每个List<Content>
具有相同的Content.id
变成一个单一的Content
带平面MapList<Tools>
. 具有这些修改的Content
作为减少的结果返回。样本数据