将List进行分组后结果返回Map结果集

//将String转换成jsonObject或Map
JSONObject originalJsonData = JSONObject.parseObject(jsonStr);
JSONArray dataArray = originalJsonData.getJSONArray();
List<JSONObject> jsonObjectList = new ArrayList<>();
//将原始数据中的json数组中的json对象存到一个list集合中
    for (Object o : dataArray) {
          jsonObjectList.add((JSONObject) o);
    }
 //对集合中的json对象进行分组
 //然后返回一个map集合,key代表组名,value代表该组中的数据
 Map<String, List<JSONObject>> groupByLineNumData = jsonObjectList.stream() .collect(Collectors.groupingBy(x -> x.getString("line_num")));
 //遍历所有的分组,对每组内的JSON对象进行排序
    for (String s : groupByLineNumData.keySet()) {
        List<JSONObject> list = groupByLineNumData.get(s);
        JSONArray jsonSorted = jsonArraySort(list.toString());
       //后续有对排序后的json对象的业务操作
       //这里只将它输出
        System.out.println(jsonSorted);
        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。