加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONArray 去重

发布时间:2020-12-16 18:45:00 所属栏目:百科 来源:网络整理
导读:前台说 只能传给我这样的数据 [ ??? { ??????? "labelName":"皮肤颜色", ??????? "type":"info", ??????? "labelCode":"la2018052100002", ??????? "labelValue":"黄色皮肤" ??? }, ??? { ??????? "labelName":"皮肤颜色", ??????? "labelValue":"黑色皮肤"

前台说 只能传给我这样的数据

[
??? {
??????? "labelName":"皮肤颜色",
??????? "type":"info",
??????? "labelCode":"la2018052100002",
??????? "labelValue":"黄色皮肤"
??? },
??? {
??????? "labelName":"皮肤颜色",
??????? "labelValue":"黑色皮肤"
??? },
??????? "labelValue":"白色皮肤"
??? }
]

而我想要的是

?[{

"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);?? ??? ??? ??? ??? ?}?? ??? ??? ??? ?}?? ??? ??? ?}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读