分享

android以application/json流的方式提交数据

 pengphie 2016-12-05

网上已经很多post提交数据的文章了, 但以application/json流的方式提交, 却很少提及, 在GOOGLE大神的指点下, 找到


  1. @SuppressWarnings("deprecation")  
  2.     public static JSONObject postData(String jsoncontent,String urlstr) {    
  3.         JSONObject jsonobj = null;  
  4.         try {    
  5.             HttpClient httpclient = new DefaultHttpClient();    
  6.             HttpPost httppost = new HttpPost(urlstr);     
  7.             //添加http头信息  , 主要是application/json声明    
  8.             httppost.addHeader("Content-Type""application/json");    
  9.             //StringEntity就是以字符串输出到流  
  10.             HttpEntity he = new StringEntity(jsoncontent,HTTP.UTF_8);  
  11.             httppost.setEntity(he);      
  12.               
  13.             //如果是以参数传, 就是这个  
  14. //          List<NameValuePair> params = new ArrayList<NameValuePair>();  
  15. //          params.add(new BasicNameValuePair("paramname", "post data"));  
  16. //          httppost.setEntity(new UrlEncodedFormEntity(param, HTTP.UTF_8));     
  17.               
  18.             HttpResponse response;    
  19.             response = httpclient.execute(httppost);    
  20.             //检验状态码200表示成功  
  21.             int code = response.getStatusLine().getStatusCode();    
  22.             if (code == 200) {     
  23.                 String returnjson = EntityUtils.toString(response.getEntity());//返回json格式           
  24.                 jsonobj = new JSONObject(returnjson);    
  25.             }    
  26.         } catch (ClientProtocolException e) {       
  27.         } catch (IOException e) {       
  28.         } catch (Exception e) {     
  29.         }    


把上面的这个方法放到一个util下, 直接用就好了, jsoncontent是一个JSON字符串, 我是以:  

JSONObject postdata = new JSONObject();

postdata.put("name","abc");

String jsoncontent = postdata.toString();

加进去的.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多