json数据格式解析:

一种是普通的,一种是带有数组形式的;

普通形式的:
服务器端返回的json数据格式如下:

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

分析代码如下:

                // TODO 状态处理 500 200                 int res = 0;                 res = httpClient.execute(httpPost).getStatusLine().getStatusCode();                 if (res == 200) {                     /*                      * 当返回码为200时,做处理                      * 得到服务器端返回json数据,并做处理                      * */                     HttpResponse httpResponse = httpClient.execute(httpPost);                     StringBuilder builder = new StringBuilder();                     BufferedReader bufferedReader2 = new BufferedReader(                             new InputStreamReader(httpResponse.getEntity().getContent()));                     String str2 = "";                     for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2                             .readLine()) {                         builder.append(s);                     }                     Log.i("cat", ">>>>>>" + builder.toString());                JSONObject jsonObject = new JSONObject(builder.toString())                         .getJSONObject("userbean");                 String Uid;                 String Showname;                 String Avtar;                 String State;                 Uid = jsonObject.getString("Uid");                 Showname = jsonObject.getString("Showname");                 Avtar = jsonObject.getString("Avtar");                 State = jsonObject.getString("State");

带数组形式的:
服务器端返回的数据格式为:

{"calendar":
{
"calendarlist":
[
{
"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{
"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}
]
}
}

分析代码如下:

                // TODO 状态处理 500 200                 int res = 0;                 res = httpClient.execute(httpPost).getStatusLine().getStatusCode();                 if (res == 200) {                     /*                      * 当返回码为200时,做处理                      * 得到服务器端返回json数据,并做处理                      * */                     HttpResponse httpResponse = httpClient.execute(httpPost);                     StringBuilder builder = new StringBuilder();                     BufferedReader bufferedReader2 = new BufferedReader(                             new InputStreamReader(httpResponse.getEntity().getContent()));                     String str2 = "";                     for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2                             .readLine()) {                         builder.append(s);                     }                     Log.i("cat", ">>>>>>" + builder.toString());                     /**                      * 这里需要分析服务器回传的json格式数据,                      */                     JSONObject jsonObject = new JSONObject(builder.toString())                             .getJSONObject("calendar");                     JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");                     for(int i=0;i<jsonArray.length();i++){                         JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);                         CalendarInfo calendarInfo = new CalendarInfo();                         calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));                         calendarInfo.setTitle(jsonObject2.getString("title"));                         calendarInfo.setCategory_name(jsonObject2.getString("category_name"));                         calendarInfo.setShowtime(jsonObject2.getString("showtime"));                         calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));                         calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));                         calendarInfos.add(calendarInfo);                     }

总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。

更多相关文章

  1. Android处理后台返回数据——Json转实体类
  2. Android(安卓)消息处理机制1(从源码分析)
  3. Android(安卓)webkit 事件传递流程详解
  4. Android长图处理
  5. Android(安卓)Tcp服务器端
  6. android dexposed框架hook使用实例
  7. Android(安卓)ListView列表分组
  8. android 处理图片的工具类
  9. Android(安卓)IntentService 深入分析

随机推荐

  1. Android(安卓)二维码的扫码功能实现(一)
  2. Android(安卓)日志管理
  3. Android(安卓)设备兼容性使用方法详解
  4. Android中的XML解析-DOM的使用与开发技巧
  5. 微信Android客户端架构演进及其对开发流
  6. Android(安卓)XML解析器 - DOM
  7. Android中ListView动态加载数据 加载中
  8. windows和android一个都不能少
  9. Android开发之一键清空内容的输入框
  10. 使用NDK build android上的busybox.