java中调用三方接口post传参时map和jsonobject的区别转换

post方法名及参数为:(具体方法可参考https://www.cnblogs.com/mufengforward/p/10510337.html)

  public static String doPost(String httpUrl, String param) {   ...   }

如果方法参数param是要求以json字符串的形式传递则:

  1. 如果是JSONObject对象转字符串则:String result = HttpUtil.doPost(URL, json.toJsonString());

  2. Map转字符串则需采用:String result = HttpUtil.doPost(URL, JSON.toJSONString(map));

  注:使用map.toString() 时会出现参数解析不到的问题

  因为:json.toJsonString()转换后为:{"name":"ceshi","password":"123456"}

     map.toString()转换后为:{password=123456, name=ceshi}

  对比可知,参数不一致;

测试如下:

  public static void main(String[] args) {
Map map = new HashMap<>();
map.put("name", "ceshi");
map.put("password", "123456");
System.out.println(map.toString()); //{password=123456, name=ceshi}
System.out.println(JSON.toJSONString(map)); //{"name":"ceshi","password":"123456"} JSONObject json = new JSONObject();
json.put("name", "ceshi");
json.put("password", "123456");
System.out.println(json.toJSONString()); //{"name":"ceshi","password":"123456"}
}
上一篇:ajax轮询与长轮询


下一篇:Cinema CodeForces - 670C (离散+排序)