您的位置:首页 > 移动开发 > Android开发

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

2015-12-01 11:02 423 查看
网上已经很多post提交数据的文章了, 但以application/json流的方式提交, 却很少提及, 在GOOGLE大神的指点下, 找到

@SuppressWarnings("deprecation")
public static JSONObject postData(String jsoncontent,String urlstr) {
JSONObject jsonobj = null;
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(urlstr);
//添加http头信息  , 主要是application/json声明
httppost.addHeader("Content-Type", "application/json");
//StringEntity就是以字符串输出到流
HttpEntity he = new StringEntity(jsoncontent,HTTP.UTF_8);
httppost.setEntity(he);

//如果是以参数传, 就是这个
//		    List<NameValuePair> params = new ArrayList<NameValuePair>();
//	        params.add(new BasicNameValuePair("paramname", "post data"));
//		    httppost.setEntity(new UrlEncodedFormEntity(param, HTTP.UTF_8));

HttpResponse response;
response = httpclient.execute(httppost);
//检验状态码200表示成功
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
String returnjson = EntityUtils.toString(response.getEntity());//返回json格式
jsonobj = new JSONObject(returnjson);
}
} catch (ClientProtocolException e) {
} catch (IOException e) {
} catch (Exception e) {
}


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

JSONObject postdata = new JSONObject();
postdata.put("name","abc");
String jsoncontent = postdata.toString();
加进去的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: