java后台去除JSON数组的重复值

Posted 青春的西瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java后台去除JSON数组的重复值相关的知识,希望对你有一定的参考价值。

假设原始Json数组是这样的

原始JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"},{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]

工具类如下:

/**
 * 根据Key去重复
 * @param array
 */
public static JSONArray delRepeatIndexid(JSONArray array) {
    JSONArray arrayTemp = new JSONArray();
    int num = 0;
    for(int i = 0;i < array.size();i++){
        if(num==0){
            arrayTemp.add(array.get(i));
        }else{
            int numJ = 0;
            for(int j = 0;j < arrayTemp.size(); j++){
                JSONObject newJsonObjectI = (JSONObject)array.get(i);
                JSONObject newJsonObjectJ = (JSONObject)arrayTemp.get(j);
                String index_idI = newJsonObjectI.get("Key").toString();
                String valueI = newJsonObjectI.get("Value").toString();
                String index_idJ = newJsonObjectJ.get("Key").toString();
                if(index_idI.equals(index_idJ)){
                    arrayTemp.remove(j);
                    JSONObject newObject = new JSONObject();
                    newObject.put("Key", index_idI);
                    newObject.put("Value", valueI);
                    arrayTemp.add(newObject);
                    break;
                }
                numJ++;
            }
            if(numJ-1 == arrayTemp.size()-1){
                arrayTemp.add(array.get(i));
            }
        }
        num++;
    }
    return arrayTemp;
}

处理结果

数据处理后JSONArry:[{"Value":"15153129877","Key":"09770985-9869-11e7-9c0d-fa163ef28f43"}]

完毕!!!!

以上是关于java后台去除JSON数组的重复值的主要内容,如果未能解决你的问题,请参考以下文章

给json对象去除重复的值

java中怎么样子找出数组中重复的数,并去除

java怎么判断数组中有重复的元素

js数组中如何去除重复值?

请问C#中有没有判断数组元素重复,或如何去除重复呀?

freemarker 遍历list去除重复值问题