JSONArray 去重
前台说 只能传给我这样的数据 [ 而我想要的是 ?[{ "labelCode": "la2018052100002", "labelName": "皮肤颜色", "labelValue": "黑色皮肤,白色皮肤,黄色皮肤" }] 只好在后台做去重操作 方法如下: ?????????? //前台传来的 ?? 新增标签列表?? ??? ??? ?JSONArray jsonArray = JSONArray.fromObject(paramsJson.optString("labelList"));?? ??? ??? ?JSONArray arrayTemp = new JSONArray();//临时数组?? ??? ??? ?for (int i = 0; i < jsonArray.size(); i++) {?? ??? ??? ??? ?JSONObject oldJson = (JSONObject) jsonArray.get(i);?? ??? ??? ??? ?//重新组织后 要使用的数据?? ??? ??? ??? ?JSONObject newJson = new JSONObject();?? ??? ??? ??? ?newJson.put("labelCode",oldJson.optString("labelCode"));?? ??? ??? ??? ?newJson.put("labelValue",oldJson.optString("labelValue"));?? ??? ??? ??? ?newJson.put("labelName",oldJson.optString("labelName"));?? ??? ??? ??? ?if (i == 0) {?? ??? ??? ??? ??? ?// 添加第一条数据?? ??? ??? ??? ??? ?arrayTemp.add(newJson);?? ??? ??? ??? ?} else {?? ??? ??? ??? ??? ?boolean flag = false;//是否有重复数据 标识?? ??? ??? ??? ??? ?for (int j = 0; j < arrayTemp.size(); j++) {?? ??? ??? ??? ??? ??? ?JSONObject compJson = arrayTemp.getJSONObject(j);?? ??? ??? ??? ??? ??? ?String oldLabelCode = oldJson.optString("labelCode");?? ??? ??? ??? ??? ??? ?String newLabelCode = compJson.optString("labelCode");?? ??? ??? ??? ??? ??? ?if (oldLabelCode.equals(newLabelCode)) {?? ??? ??? ??? ??? ??? ??? ?arrayTemp.remove(j);?? ??? ??? ??? ??? ??? ??? ?compJson.put("labelValue",compJson.optString("labelValue") +","+ oldJson.optString("labelValue"));?? ??? ??? ??? ??? ??? ??? ?arrayTemp.add(compJson);?? ??? ??? ??? ??? ??? ??? ?flag=true;?? ??? ??? ??? ??? ??? ??? ?break;?? ??? ??? ??? ??? ??? ?}?? ??? ??? ??? ??? ?}?? ??? ??? ??? ??? ?//没有重复? 则新增?? ??? ??? ??? ??? ?if (!flag) {?? ??? ??? ??? ??? ??? ?arrayTemp.add(newJson);?? ??? ??? ??? ??? ?}?? ??? ??? ??? ?}?? ??? ??? ?} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |