fastjson合并json数组中相同的某个元素

Posted kankankankankan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson合并json数组中相同的某个元素相关的知识,希望对你有一定的参考价值。

/**
 * @param array JSON数组
* @param array 需合并后的某个元素名
 */
private static JSONArray mgreArray(JSONArray array, String arrayname) {
        Map<Integer, JSONObject> map = new HashMap<>();
        for (int i = 0; i < array.size(); i++) {
            JSONObject jsonObject = array.getJSONObject(i);
            Integer id = jsonObject.getIntValue("id"); //合并的条件值
            if (map.containsKey(id)) {
                JSONObject tmp = map.get(id);
                JSONArray detailList = tmp.getJSONArray(arrayname);
                detailList.addAll(jsonObject.getJSONArray(arrayname));
            } else {
                map.put(id, jsonObject);
            }
        }
        JSONArray newArray = new JSONArray();
        newArray.addAll(map.values());
        return newArray;
}

 

以上是关于fastjson合并json数组中相同的某个元素的主要内容,如果未能解决你的问题,请参考以下文章

求java合并json数据的代码

php 大数组合并去重 两个数组元素都过万

php 二维数组中取某个唯一的键值为键名。(通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。)

php 数组相同的元素组合并在一起

在数组Vue Js中的另一个不同json对象中具有相同值的数组中的所有json对象中添加/合并新项目

在 Redshift 中合并 JSON 数组中的元素