ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 13453|回复: 0
上一主题 下一主题
[教程]

Android腾讯微博客户端开发二:相关工具篇

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-28 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   
   
  1. json数据格式解析我自己分为两种;   
       
    一种是普通的,一种是带有数组形式的;   
       
       
       
       
    普通形式的:   
    服务器端返回的json数据格式如下:   
       
    {"userbean":{"Uid":"100196","Showname":"u75afu72c2u7684u7334u5b50","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":"(u4eb2u5b50)ddssd","category_name":"u9ed8u8ba4u5206u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},   
                {"calendar_id":"1706","title":"(u65c5u884c)","category_name":"u9ed8u8ba4u5206u7c7b","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。
复制代码
JsonViewer.zip(44.23 KB, 下载次数: 192)[/I]2011-9-13 12:10 上传点击文件名   下载积分: 下载豆 -2    
   
   
   

上一篇:第二十九讲:WebView学习指南
下一篇:android闹钟——原代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-7-28 15:45 , Processed in 0.056690 second(s), 16 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表