Android使用HttpPost向服务器发送Json数据

客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式;

url带参数的写法:

?
1
url+/?r=m/calendar/contact_list&uid= 3 &&subscriptionslist[pageindex]= 10 &subscriptionslist[recordlimit]= 10

从“&”符号之后一连串都是参数。

发送方式代码编写:
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DefaultHttpClient httpClient = new  DefaultHttpClient();
 
         HttpPost httpPost = new  HttpPost(HttpUtil.BASIC_URL
                 + HttpUtil.SUBSCRIPTION_URL);
         try {
             if  (cookie != null ) {
                // httpClient.setCookieStore(LoginJsonUtil.cookie);
                 List<NameValuePair> nameValuePair = new  ArrayList<NameValuePair>( 2 );
 
                 nameValuePair.add( new  BasicNameValuePair( "uid" ,
                         uid));
                 nameValuePair.add( new  BasicNameValuePair( "subscriptionslist[pageindex]" ,
                         subscriptionslist_pageindex));
                 nameValuePair.add( new  BasicNameValuePair( "subscriptionslist[recordlimit]" ,
                         subscriptionslist_recordlimit));
 
                 httpPost.setEntity( new  UrlEncodedFormEntity(nameValuePair));

传递参数使用nameValuePair。

如果使用cookie的话,使用上段代码中注释掉的部分

?
1
httpClient.setCookieStore(LoginJsonUtil.cookie);

 

使用json数据格式发送信息向服务器端:
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HttpClient httpClient = new  DefaultHttpClient();
         try  {
 
             HttpPost httpPost = new  HttpPost(BASIC_URL + url);
 
             List<NameValuePair> nameValuePair = new  ArrayList<NameValuePair>();
             JSONObject jsonObject = new  JSONObject();
             JSONObject jsonObject2 = new  JSONObject();
 
             jsonObject.put( "uemail" , userbean.getEmail());
             jsonObject.put( "password" , userbean.getPassword());
 
             jsonObject2.put( "userbean" , jsonObject);
 
             nameValuePair.add( new  BasicNameValuePair( "jsonString" , jsonObject
                     .toString()));
 
             Log.i( "lifeweeker" , jsonObject2.toString());
             httpPost.setEntity( new  UrlEncodedFormEntity(nameValuePair));

这里每个put的顺序我不清楚有没有规定,我是严格按照提供的前后顺序来组合json数据格式的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值