• JSONArray 去重


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

    [
        {
            "labelName":"皮肤颜色",
            "type":"info",
            "labelCode":"la2018052100002",
            "labelValue":"黄色皮肤"
        },
        {
            "labelName":"皮肤颜色",
            "type":"info",
            "labelCode":"la2018052100002",
            "labelValue":"黑色皮肤"
        },
        {
            "labelName":"皮肤颜色",
            "type":"info",
            "labelCode":"la2018052100002",
            "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 =jsonArray.getJSONObject(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);
                        }
                    }
                }

    找到那个感觉 就算打开了那个脑洞

    本文来自博客园,作者:xiao~xiao,转载请注明原文链接:https://www.cnblogs.com/angin-iit/p/9072011.html

  • 相关阅读:
    iOS之CALayer属性简介
    iOS之UIGraphics.h方法简介
    iOS之CGcontext.h方法和属性简介
    iOS之CATiledLayer的属性简介和使用
    iOS之CATextLayer属性简介
    iOS之CAScrollLayer属性简介和使用
    iOS之CAReplicatorLayer属性简介和使用
    iOS之CAGradientLayer属性简介和使用
    iOS之CAShapeLayer属性简介
    iOS之UIBezierPath贝塞尔曲线属性简介
  • 原文地址:https://www.cnblogs.com/angin-iit/p/9072011.html
Copyright © 2020-2023  润新知