2 回答

TA贡献1780条经验 获得超4个赞
你可以像这样ForEach直接使用entrySet:
JSONObject postParameters = new JSONObject();
Map parameterMap = httpRequest.getParameterMap();
for (Map.Entry<String,String[]> entry : parameterMap.entrySet()){
if(entry.getValue().length == 1){
postParameters.put(entry.getKey(), entry.getValue()[0].toString());
}
else{
JSONArray valueList = new JSONArray();
for(String value : entry.getValue()){
valueList.add(value.toString());
}
postParameters.put(entry.getKey(), valueList);
}
}

TA贡献1851条经验 获得超5个赞
JSONObject postParameters = new JSONObject();
Map<String, String[]> parameterMap = httpRequest.getParameterMap();
for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
if (entry.getValue().length == 1) {
postParameters.put(entry.getKey(), entry.getValue()[0]);
} else {
JSONArray valueList = new JSONArray();
for (String value : entry.getValue()) {
valueList.add(value);
}
postParameters.put(entry.getKey(), valueList);
}
}
你可以摆脱多余的 toString() 方法,并且else可以将最后一个块更改为更短的版本,考虑一次收集整个条目值并将其作为 JSONArray 放入 postParameters 中。
添加回答
举报