Android接收/发送jSON数据

原文地址:http://blog.csdn.net/guzicheng/article/details/7076629

一、接收

例1:

服务器返回的json数据格式如下:

  1. {"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}  

解析代码:

  1. //TODO 状态处理 500 200   
  2. int res = 0;   
  3. res = httpClient.execute(httpPost).getStatusLine().getStatusCode();   
  4. if (res == 200) {   
  5.     /*  
  6.      * 当返回码为200时,做处理  
  7.      * 得到服务器端返回json数据,并做处理  
  8.      * */   
  9.     HttpResponse httpResponse = httpClient.execute(httpPost);   
  10.     StringBuilder builder = new StringBuilder();   
  11.     BufferedReader bufferedReader2 = new BufferedReader(   
  12.             new InputStreamReader(httpResponse.getEntity().getContent()));   
  13.     String str2 = "";   
  14.     for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2.readLine()) {   
  15.         builder.append(s);  
  16.     }  
  17.   
  18.     JSONObject jsonObject = new JSONObject(builder.toString())   
  19.             .getJSONObject("userbean");   
  20.   
  21.     String Uid;   
  22.     String Showname;   
  23.     String Avtar;   
  24.     String State;   
  25.   
  26.     Uid = jsonObject.getString("Uid");   
  27.     Showname = jsonObject.getString("Showname");   
  28.     Avtar = jsonObject.getString("Avtar");   
  29.     State = jsonObject.getString("State");  
  30. }  


例2:

服务器返回的json数据格式如下:

  1. {"calendar":   
  2.     {"calendarlist":   
  3.             [   
  4.             {"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},   
  5.             {"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}   
  6.             ]   
  7.     }   
  8. }  
解析代码:
  1. // TODO 状态处理 500 200   
  2. int res = 0;   
  3. res = httpClient.execute(httpPost).getStatusLine().getStatusCode();   
  4. if (res == 200) {   
  5.     /*  
  6.      * 当返回码为200时,做处理  
  7.      * 得到服务器端返回json数据,并做处理  
  8.      */   
  9.     HttpResponse httpResponse = httpClient.execute(httpPost);   
  10.     StringBuilder builder = new StringBuilder();   
  11.     BufferedReader bufferedReader2 = new BufferedReader(   
  12.             new InputStreamReader(httpResponse.getEntity().getContent()));   
  13.     String str2 = "";   
  14.     for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2   
  15.             .readLine()) {   
  16.         builder.append(s);   
  17.     }   
  18.     /* 
  19.      * 这里需要分析服务器回传的json格式数据,  
  20.      */   
  21.     JSONObject jsonObject = new JSONObject(builder.toString())   
  22.             .getJSONObject("calendar");   
  23.     JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");   
  24.     for(int i=0;i<jsonArray.length();i++){   
  25.         JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);   
  26.         CalendarInfo calendarInfo = new CalendarInfo();   
  27.         calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));   
  28.         calendarInfo.setTitle(jsonObject2.getString("title"));   
  29.         calendarInfo.setCategory_name(jsonObject2.getString("category_name"));   
  30.         calendarInfo.setShowtime(jsonObject2.getString("showtime"));   
  31.         calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));   
  32.         calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));   
  33.         calendarInfos.add(calendarInfo);   
  34.     }  
  35. }  

二、发送

  1. HttpClient httpClient = new DefaultHttpClient();   
  2. HttpPost httpPost = new HttpPost(BASIC_URL + url);  
  3.   
  4. List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();   
  5. JSONObject jsonObject = new JSONObject();   
  6. JSONObject jsonObject2 = new JSONObject();  
  7. jsonObject.put("uemail", userbean.getEmail());   
  8. jsonObject.put("password", userbean.getPassword());  
  9. jsonObject2.put("userbean", jsonObject);  
  10. nameValuePair.add(new BasicNameValuePair("jsonString", jsonObject   
  11.         .toString()));  
  12.    
  13. httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值