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. Could not find method runProguard() fo
  2. android中基本的加密方法
  3. Android稳定性问题分析时获取手机状态的A
  4. android 实现圆形imageView,Circle image
  5. Android(安卓)P 各种ANR的时间
  6. 解决vlc-android播放http视频退出问题
  7. Android之判断是否安装某个应用
  8. Android源码下载以及编译自己的ROM
  9. Android根据所设置的textSize获取字体高
  10. Android:Activity(三):启动其他Activity