Java中post一个Json时候注意事项

来源:互联网 发布:android 引导蒙版源码 编辑:程序博客网 时间:2024/05/16 05:10

1、原来都是的到了一个Map,然后将Map转化为String:name=kobe&number=24,发送给服务器

2、后来需要将Map转化为Json,再转化为String(Json)发送,注意事项:

1、Http请求添加消息头:conn.setRequestProperty("Content-Type","application/json"); 没加这个,死活得不到数据。这个消息头具体做什么,还没细究

2、Map转化到Json,有两种方法:A:Map---->JsonObject------>String    B:Map------->String    推荐用第一种

附代码:

/** * 组装参数:Map---->Json * @param paramsMap * @return String */private String buildJson(Map<String, String> paramsMap) {if (paramsMap == null || paramsMap.size() == 0) {return "";}StringBuilder params = new StringBuilder();params.append("{");Set<String> keySet = paramsMap.keySet();Iterator<String> iterator = keySet.iterator();while (iterator.hasNext()) {String key = iterator.next();String value = paramsMap.get(key);params.append( "\"" +key + "\"" +":"+"\""+encode(value)+"\""+",");}String result = params.toString().substring(0, params.toString().length() - 1);result = result + "}";Loger.d(this.getClass(), "json="+result);return result;}

JSONObject obj = new JSONObject();try {  obj.put("com.platomix.snowwhite", "1.0");  obj.put("com.platomix.tangshi", "1.0");  obj.put("gavin.tang.wendy_7", "1.0");} catch (JSONException e) {  Loger.e(this.getClass(), "json转换时候出错");  e.printStackTrace();}conn.getOutputStream().write(obj.toString().getBytes());


0 0
原创粉丝点击