数据解析学习

代码格式化地址:http://tool.oschina.net/codeformat/json

我们将后台返回的数据,字符串,放到代码格式化工具里看看。
明确要定义的数据结构

{
    "status": "0", 
    "msg": "ok", 
    "result": {
        "pagesize": "10", 
        "list": [
            {
                "content": "同学抄作业自作聪明把一周改为一星期,至今忘不了物理老师看到小球旋转一星期时那扭曲的脸。", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68047.html"
            }, 
            {
                "content": "2017版相亲准丈母娘提问流行款:
“小王,你家车库物业费现在交多少哦?”  
这个问题非常有学问,既避免了物质化的庸俗,又包含了大量的信息:确保有房、有车、有车位,而且能从物业费判断小区档次。  
标准答案:阿姨,您问的是哪一套哦?", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68048.html"
            }, 
            {
                "content": " 大家有木有发现,男人和女友吵架,基友一般都说“算了,你小子找得到就不错了,人家那么好”。而女人和男友吵架,闺蜜一般都说“算了,分了重新找一个,真不知道他有哪里好”。", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68049.html"
            }, 
            {
                "content": "陌陌群聚餐,男aa女免费,哥一观察聚餐女生挺多,赶紧报名。 因为洗澡洗头吹发型,有点迟到, 终于赶到火锅店,欢呼声起:“终于有男生来了” 尼玛,一桌女生就我一个男的! ", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68050.html"
            }, 
            {
                "content": "一朋友在人才网看到有影视公司在招兼职模特和女演员,就按要求加了QQ发了照片过去。对方的昵称是王导,回话很直接:衣服脱下来看看。然后朋友就照做了。她拍了一张衣服挂阳台的照片发过去,还加了一句“地址要吗,淘宝爆款哦”。", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68051.html"
            }, 
            {
                "content": "没当成兵一直是我最大的遗憾。原因是体检时医生说裤子脱了,我脱了,让蹦两下,我也蹦了。最后医生拨了拨我小弟弟,说转一圈,我楞了一下,拿起小弟弟顺时针转了一圈。。。医生以智商有硬伤把我淘汰了。。。", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68052.html"
            }, 
            {
                "content": "那些征婚网上写的学历啊,内心独白啊都是没用的,只要贴上半年的淘宝购物单和评价记录,就能立马了解是个什么样的女生。 ", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68053.html"
            }, 
            {
                "content": "牧羊犬死了,牧羊人一时之间找不到替代的狗,就在羊群中选了只羊,给它披上狗皮,并对它说:你是只牧羊犬。出乎意料的是,它竟然做得比真狗还到位,但凡有乱走的羊,它冲上去就咬,在这只伪狗驱使下,羊群苦不堪言。有羊悄悄对它说:你是羊啊……那羊义正词严地说:咱要对得起这身皮!", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68054.html"
            }, 
            {
                "content": "地铁上听见一对情侣对话:“我给你发消息,为啥不马上回啊?人家多着急你造吗?” “可我马上回,你又马上回我,我再马上回你,这就没完啦。你得这么想:这就是网球比赛,你抽过来,我抽回去,你再回一记扣杀,没动静了,说明你得一分啊!” “哦…” 女孩若有心思点了点头,我和几个乘客也点了点头…", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68055.html"
            }, 
            {
                "content": "去银行取钱,到柜台说取3000,柜台妹子说:没那么多,我纳闷说到:那你看隔壁柜台有吗? 那妹子严肃地说:你卡里钱没那么多! ", 
                "addtime": "2017-11-21 03:20:09", 
                "url": "http://m.kaixinhui.com/detail-68056.html"
            }
        ]
    }
}

我们一层层的嵌套:
在最外层有status,msg,result三个字段:result里面有pagesize,每页的大小,还有许多个JokeInfo(content ,addtime,url)组成的集合,于是
我们这样定义一个bean


package com.example.lin.mvp.bean;

import com.google.gson.annotations.SerializedName;

import java.util.ArrayList;

/**
 * @author wangjing
 * @since 2016/5/20 10:39
 * @version 1.0
 *          <p>
 *          <strong>Features draft description.主要功能介绍</strong>
 *          </p>
 */
public class Joke {

    @SerializedName("msg")
    private String msg;

    @SerializedName("status")
    private String status;

    @SerializedName("result")
    private Result mResult;

    public Result getResult() {
        return mResult;
    }


    public class Result {
        /**
         * "total": "35328", "pagenum": "1", "pagesize": "6", "list": []
         */
        @SerializedName("total")
        private int                 total;

        @SerializedName("pagenum")
        private int                 pageNum;

        @SerializedName("pagesize")
        private int                 pageSize;

        @SerializedName("list")
        private ArrayList<JokeInfo> mJokeInfoArrayList = new ArrayList<>();


        public ArrayList<JokeInfo> getJokeInfoArrayList() {
            return mJokeInfoArrayList;
        }


        @Override
        public String toString() {
            return "Result{" +
                    "total=" + total +
                    ", pageNum=" + pageNum +
                    ", pageSize=" + pageSize +
                    ", mJokeInfoArrayList=" + mJokeInfoArrayList +
                    '}';
        }
    }

    @Override
    public String toString() {
        return "Joke{" +
                "msg='" + msg + '\'' +
                ", status='" + status + '\'' +
                ", mResult=" + mResult +
                '}';
    }
}


public class JokeInfo {

    @SerializedName("content")
    private String mContent;

    @SerializedName("addtime")
    private String mAddTime;


    public String getContent() {
        return mContent;
    }

    public String getAddTime() {
        return mAddTime;
    }


定义好结构后,使用Gson解析就很方便了

joke=new Gson().fromJson(s,Joke.class);
//s为服务器返回的字符串

我正在搭建一个项目框架,包括登陆注册,主界面、网络请求,数据解析,广播,图库等等做了一个整合,使用了mvp模式,代码简单清晰。一直打算维护下去

github地址:https://github.com/ElliotLinLin/baseAPP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值