【发布时间】:2016-02-03 00:39:43
【问题描述】:
我有一个这样的List<Map<String, Object>> 列表
[{"A": 2616100,
"B": 2616100,
"C": 31,
"D": "Sold Promissory Buyer"
},
{
"A": 101322143.24,
"B": 50243301.2,
"C": 569,
"D": "Auction"
},
{
"A": 72000,
"B": 93900,
"C": 1,
"D": "Sold Third Party"
}]
使用带有 groupBy 方法 salesReportForSoldProperty.stream().collect(Collectors.groupingBy(tags -> tags.get("D"))) 的 Stream API,我可以得到集合 Map<Object, List<Map<String, Object>>>
但是当我尝试创建这个集合的 JSON 时,我得到了这样的 Json
{
"Sold Promissory Buyer": [
{
"A": 2616100,
"B": 2616100,
"C": 31,
"D": "Sold Promissory Buyer"
}
],
"Auction": [
{
"A": 101322143.24,
"B": 50243301.2,
"C": 569,
"D": "Auction"
}
],
"Sold Third Party": [
{
"A": 72000,
"B": 93900,
"C": 1,
"D": "Sold Third Party"
}
]
}
这里每个值都是 JSONArray,因为我得到的是Map<Object, List<Map<String, Object>>>。有什么方法可以使用 Stream API 获取Map<Object, Map<String, Object>>collection,所以我可以获得正确的 JSON(没有 JSONArray 值)
【问题讨论】:
标签: java-8 java-stream collectors