POST编程中要求提交的数据放到消息体中,并且提供了四种数据的编码方式,如下:
①Content-Type:application/x-www-form-urlencoded
这种编码方式是浏览器的原生 form 表单,如下:
pageNo=0&pageSize=1000&page1=18052800197&page2=&page3=&page4=-999999&page5=-999999&page6=2018-05-27&page7=2018-06-01
使用StringBuffer类型将数据放置到消息主体(entity-body)中
Map<String, String> map = new HashMap<String, String>();
map.put("pageNo","0");
map.put("pageSize","1000");
map.put("page1",reservationCode);
map.put("page2",purchaseBillCode);
map.put("page3","");
map.put("page4","-999999");
map.put("page5","-999999");
map.put("page6",reserveSignBeginTime);
map.put("page7",reserveSignEndTime);
for (Map.Entry<String, String> e : map.entrySet()) {
sb.append(e.getKey());
sb.append("=");
sb.append(e.getValue());
sb.append("&");
}
sb.deleteCharAt(sb.length()-1);//删除最后一位&符
System.out.println(sb.toString());
②Content-Type:application/json
参数以Json串的形式放置到消息体中,JSON 规定字符集是UTF-8,字符串必须使用""
,Object 的键也必须使用""
json串的几种形式:
{"",""}对象方式:直接创建JSONObject对象,将key、value值放置到json对象中即可。
JSONObject jsonObject = new JSONObject();
jsonObject.put("key1", 2);
jsonObject.put("key2", 0);
jsonObject.put("key3", "");
jsonObject.put("key4", "");
jsonObject.put("key5", "");
{"",json}value值是json对象
JSONObject jsonObject = new JSONObject();
JSONObject jsonData = new JSONObject();
jsonValue.put("key1","value1");
jsonValue.put("key2","value2");
jsonObject.put("key",jsonData.toString());
{"",[{"",""}]}value值是数组
bodyObj.put("key1","vaule1");
bodyObj.put("key2","vaule2");
JSONObject[] bodyArr = new JSONObject[]{bodyObj};
jsonObject.put("data",bodyArr);
③Content-Type:text/xml
参数以String类型的数据即可。