码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-03-25 10:53:36      阅读:474      评论:0      收藏:0      [点我收藏+]

标签:equal   key   val   tostring   cti   ==   lse   重复   remove   

假设原始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数组的重复值

标签:equal   key   val   tostring   cti   ==   lse   重复   remove   

原文地址:https://www.cnblogs.com/by-xu/p/10592111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!