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"}]

完畢!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM