android 解析json数据格式

转载 2015年07月08日 09:35:46
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。

android 解析json数据格式---经典

http://www.cnblogs.com/qingblog/archive/2012/05/31/2528682.html
  • jonemill
  • jonemill
  • 2014年09月07日 13:59
  • 297

Android数据格式之解析Json

JSON数据格式,在Android中被广泛运用于客户端和网络(或者说服务器)通信,非常有必要系统的了解学习。      恰逢本人最近对json做了一个简单的学习,特此总结一下,以飨各位。     ...
  • jie1991liu
  • jie1991liu
  • 2014年05月05日 17:41
  • 640

Android 解析json数据格式

引用:http://www.eoeandroid.com/thread-109723-1-1.html json数据格式解析我自己分为两种;   一种是普通的,一种是带有数组形式的;   普...
  • kbeanwu
  • kbeanwu
  • 2011年10月28日 16:29
  • 693

android 解析json数据格式(整合)

在这个网站中对JSON解析数据有个较为完整的解释说明,大家可以去看看 http://www.ibm.com/developerworks/cn/xml/x-andbene1/#aotf JSO...
  • nei504293736
  • nei504293736
  • 2011年11月19日 17:21
  • 645

android 解析json数据格式

json数据格式解析我自己分为两种; 一种是普通的,一种是带有数组形式的; android sdk 已经自带相关包 无需下载   普通形式的: 服务器端返回的json...
  • zhumengxiaoqi
  • zhumengxiaoqi
  • 2013年08月16日 13:03
  • 411

解析Json数据格式

再次进入了金融it行业了,解析JSON数据是避免不了,经常不记得要怎么做,来记点笔记咯。 解析JSON数据有很多种方法,官方有提供JSONObject,谷歌也有个开源库GSON。当然还有一些第三方的...
  • u010761637
  • u010761637
  • 2015年11月09日 09:36
  • 352

ajax解析json对象数据到前端

Ajax中解析Json的两种方法详解 eval();  //此方法不推荐 JSON.parse();  //推荐方法 一、两种方法的区别 我们先初始化一个json格式的对象...
  • qq_39735532
  • qq_39735532
  • 2018年01月15日 10:40
  • 10

Android之JSON格式数据解析

JSON:JavaScript 对象表示法(JavaScript Object Notation)。独立于语言和平台,比 XML 更小、更快,更易解析。如今JSON数据已经成为了互联网中大多数数据的传...
  • HanTangSongMing
  • HanTangSongMing
  • 2015年01月01日 12:45
  • 60930

android之解析json数据格式详解

1.JSON解析      (1).解析Object之一: view sourceprint? 1 {"url":"http://www.cnblogs.c...
  • molashaonian
  • molashaonian
  • 2015年12月01日 18:24
  • 336

Android (App数据格式之解析Json)

JSON数据格式,在Android中被广泛运用于客户端和网络(或者说服务器)通信,非常有必要系统的了解学习。      恰逢本人最近对json做了一个简单的学习,特此总结一下,以飨各位。     ...
  • a1215445590
  • a1215445590
  • 2014年08月14日 09:54
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 解析json数据格式
举报原因:
原因补充:

(最多只允许输入30个字)