2 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以像這樣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貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
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可以將最后一個(gè)塊更改為更短的版本,考慮一次收集整個(gè)條目值并將其作為 JSONArray 放入 postParameters 中。
添加回答
舉報(bào)