java fastjson 数据为 JSONArray 类型将数据根据jsonarray中的一个值 分组为数据最终为key=jsonarrayvalue=ListJSONArray的map数据
可以使用Java的FastJSON库来实现将JSONArray类型的数据根据其中的一个值进行分组,并将结果存储为key为jsonarray的值,value为List
首先,需要使用FastJSON库解析JSONArray数据。假设JSONArray数据已经存在并被命名为jsonArrayData。接下来,我们可以使用以下代码将数据分组并生成Map数据:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
JSONArray jsonArrayData = JSONArray.parseArray("[{\"name\":\"John\",\"age\":20},{\"name\":\"Jane\",\"age\":25},{\"name\":\"Tom\",\"age\":20}]");
Map<String, List<JSONArray>> groupedData = new HashMap<>();
for (Object obj : jsonArrayData) {
JSONObject jsonObject = (JSONObject) obj;
String key = jsonObject.getString("age");
if (groupedData.containsKey(key)) {
groupedData.get(key).add(jsonArrayData);
} else {
List<JSONArray> dataList = new ArrayList<>();
dataList.add(jsonArrayData);
groupedData.put(key, dataList);
}
}
System.out.println(groupedData);
}
}
在上述代码中,我们首先创建了一个空的HashMap,用于存储分组后的数据。然后,我们遍历JSONArray数据中的每个对象,获取该对象的特定值作为分组的键。如果该键已经存在于HashMap中,则将当前的JSONArray对象添加到该键对应的值(List
最后,我们打印出分组后的结果groupedData,即将JSONArray数据根据特定值分组的Map数据。
请注意,上述代码中使用的是FastJSON库进行JSON解析和操作。确保已经添加了FastJSON库的依赖项
原文地址: https://www.cveoy.top/t/topic/hMT9 著作权归作者所有。请勿转载和采集!