前臺說 只能傳給我這樣的數據json
[
{
"labelName":"皮膚顏色",
"type":"info",
"labelCode":"la2018052100002",
"labelValue":"黃色皮膚"
},
{
"labelName":"皮膚顏色",
"type":"info",
"labelCode":"la2018052100002",
"labelValue":"黑色皮膚"
},
{
"labelName":"皮膚顏色",
"type":"info",
"labelCode":"la2018052100002",
"labelValue":"白色皮膚"
}
]數組
而我想要的是spa
[{rem
"labelCode": "la2018052100002",get
"labelName": "皮膚顏色",後臺
"labelValue": "黑色皮膚,白色皮膚,黃色皮膚"List
}]方法
只好在後臺作去重操做 方法以下:im
//前臺傳來的 新增標籤列表
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);
}
}
}數據