前台说 只能传给我这样的数据
[
{
"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); } } }