在使用fastjson的JSONArray进行某个值的分组时,可以使用HashMap来实现。以下是一个示例代码:

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 jsonArray = new JSONArray();
        jsonArray.add(createJSONObject("Alice", "A"));
        jsonArray.add(createJSONObject("Bob", "B"));
        jsonArray.add(createJSONObject("Alice", "C"));
        jsonArray.add(createJSONObject("Bob", "D"));
        jsonArray.add(createJSONObject("Charlie", "E"));

        Map<String, List<JSONObject>> groupMap = new HashMap<>();
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            String key = jsonObject.getString("name");
            if (!groupMap.containsKey(key)) {
                groupMap.put(key, new ArrayList<>());
            }
            groupMap.get(key).add(jsonObject);
        }

        for (Map.Entry<String, List<JSONObject>> entry : groupMap.entrySet()) {
            String key = entry.getKey();
            List<JSONObject> groupList = entry.getValue();
            System.out.println("Group " + key + ":");
            for (JSONObject jsonObject : groupList) {
                System.out.println(jsonObject);
            }
            System.out.println();
        }
    }

    private static JSONObject createJSONObject(String name, String value) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", name);
        jsonObject.put("value", value);
        return jsonObject;
    }
}

在上述示例代码中,我们首先创建了一个JSONArray对象,并添加了几个JSONObject对象,每个JSONObject对象都包含一个"name"和"value"属性。然后我们使用HashMap来进行分组操作,遍历JSONArray中的每个JSONObject对象,提取"name"属性作为分组的key,然后将当前JSONObject对象添加到对应的分组中。最后,我们遍历分组后的HashMap,打印出每个分组的内容。

运行以上代码,将会输出如下结果:

Group Alice:
{"name":"Alice","value":"A"}
{"name":"Alice","value":"C"}

Group Bob:
{"name":"Bob","value":"B"}
{"name":"Bob","value":"D"}

Group Charlie:
{"name":"Charlie","value":"E"}

可以看到,JSONArray根据"name"属性成功进行了分组

java fastjson JSONArray 根据某个值分组

原文地址: https://www.cveoy.top/t/topic/hMSP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录