HttpPost+json请求---服务器中文乱码及其他

http://blog.csdn.net/amazingrace/article/details/8794088

  好凌乱的题目,只是一些功能点的总结咯。

       首先构造一个json对象用于存放数据,如果光加上header为utf-8就能解决中文就大错特错了。。。

       json对象可以put变量,也可以put对象。取的时候obj.getJSONObject("people").getString("name")

[java]  view plain copy print ?
  1. HttpClient httpClient = new DefaultHttpClient();  
  2.             String url = "***";  
  3.             HttpPost httpPost = new HttpPost(url);  
  4.             HttpResponse response;  
  5.             httpPost.addHeader("Content-Type""application/json;charset=utf-8");         
  6.               
  7.             JSONObject obj = new JSONObject();  
  8.             obj.put("action""postHttp");  
  9.               
  10.             JSONObject people= new JSONObject();  
  11.             people.put("name""张三");  
  12.   
  13.             obj.put("people",people);  

           接下来就是处理中文了。这么看的话好像没啥难的哈,就是把obj在转成StringEntity的时候限制一个格式再发给httpPost。

[java]  view plain copy print ?
  1. StringEntity se = new StringEntity( obj.toString(),"UTF-8");   
  2.             se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));   
  3.             httpPost.setEntity(se);  
  4.             response = httpClient.execute(httpPost);  
  5.             int code = response.getStatusLine().getStatusCode();  
  6. 。。。。。。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值