= "21"
"gr2.par2" = "22"
Jackson ObjectMapper конструирует такой json
{
"gr1.par1" : "11",
"gr1.par2" : "12",
"gr2.par1" : "21",
"gr2.par2" : "22"
}
А мне нужно вот так
{
"gr1": {
"par1" : "11",
"par2" : "12"
}
"gr2": {
"par1" : "21",
"par2" : "22"
}
}
Какая-нибудь библиотечка поможет мне?
Map<String, String> root = new HashMap<>(); root.put("gr1.par1", "11"); root.put("gr1.par2", "12"); root.put("gr2.par1", "21"); root.put("gr2.par2", "22"); Map<String, Map<String, String>> result = root.entrySet().stream().collect( Collectors.groupingBy( entry -> entry.getKey().split("\\.")[0], Collectors.toMap(entry -> entry.getKey().split("\\.")[1], Map.Entry::getValue) ) ); System.out.println(result);
Обсуждают сегодня