67,512
社区成员
发帖
与我相关
我的任务
分享
Map <String,Object> arg;
StringBuffer s = new StringBuffer();
String sep = "";
for (String k : arg.keySet()) {//循环arg里的数据
Object v = arg.get(k);//得到具体某个value
k = urlencode(k);
if(v.getClass().isAssignableFrom(Map.class)) { //如果value值类型为Map
String s2 = "";
String sep2 = "";
for(String k2 : ((Map <String,Object>)v).keySet() ){//再循环类型为Map的value
Object v2 = ((Map <String,Object>)v).get(k2);
k2 = urlencode(k2);
s2 += sep2+k+"["+k2+"]="+String.valueOf( v2 );
sep2 = "&";
}
s.append(sep).append(s2); //key1[key11}=value11&key1[key12]=value12
} else {
s.append(sep).append(k).append("=").append(String.valueOf(v));//key2=value2
}
sep = "&";
}
}
Map<String, Object> arg = new HashMap<String, Object>();
Map<String, Object> arg1 = new HashMap<String, Object>();
arg1.put("cc", "33");
arg1.put("dd", "44");
arg.put("aa", 11);
arg.put("bb", 22);
arg.put("arg1", arg1);
arg1[dd]=44&arg1[cc]=33&aa=11&bb=22