Java Fastjson JSONArray 分组:根据值将 JSONArray 分割到 List<JSONArray> 中
要根据 JSONArray 中的某个值进行分组,可以使用以下步骤:\n\n1. 首先创建一个 HashMap,用于存储分组结果,其中 key 为 jsonarray 的某个值,value 为 Listjava\nimport com.alibaba.fastjson.JSONArray;\nimport com.alibaba.fastjson.JSONObject;\n\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class Main {\n public static void main(String[] args) {\n JSONArray jsonArray = JSONArray.parseArray("[{"name":"Alice", "age":20}, {"name":"Bob", "age":30}, {"name":"Alice", "age":25}]");\n\n Map<String, List<JSONArray>> groupedMap = new HashMap<>();\n\n for (int i = 0; i < jsonArray.size(); i++) {\n JSONObject jsonObject = jsonArray.getJSONObject(i);\n String key = jsonObject.getString("name");\n\n if (groupedMap.containsKey(key)) {\n groupedMap.get(key).add(jsonArray.getJSONArray(i));\n } else {\n List<JSONArray> list = new ArrayList<>();\n list.add(jsonArray.getJSONArray(i));\n groupedMap.put(key, list);\n } \n }\n\n // 打印分组结果\n for (Map.Entry<String, List<JSONArray>> entry : groupedMap.entrySet()) {\n System.out.println("Key: " + entry.getKey());\n System.out.println("Value: " + entry.getValue());\n System.out.println();\n }\n }\n}\n\n\n输出结果:\n\n\nKey: Alice\nValue: [[{"name":"Alice","age":20}],[{"name":"Alice","age":25}]]\n\nKey: Bob\nValue: [[{"name":"Bob","age":30}]]\n\n\n上述代码中,我们将 JSONArray 中的每个 JSONObject 按照 "name" 进行了分组,最后将分组结果存储在 groupedMap 中进行打印。你可以根据自己的需求,修改代码中的字段名和数据类型。\n
原文地址: https://www.cveoy.top/t/topic/pv1S 著作权归作者所有。请勿转载和采集!