android_fastJson的使用

gradle:

compile 'com.alibaba:fastjson:1.2.49'

json格式数据:

http://www.imooc.com/api/teacher?type=4&num=10

{
    "status": 1,
    "data": [{
        "id": 1,
        "name": "Tony老师聊shell——环境变量配置文件",
        "picSmall": "http:\/\/img.mukewang.com\/55237dcc0001128c06000338-300-170.jpg",
        "picBig": "http:\/\/img.mukewang.com\/55237dcc0001128c06000338.jpg",
        "description": "为你带来shell中的环境变量配置文件",
        "learner": 12312
    }, {
        "id": 2,
        "name": "数学知识在CSS动画中的应用",
        "picSmall": "http:\/\/img.mukewang.com\/55249cf30001ae8a06000338-300-170.jpg",
        "picBig": "http:\/\/img.mukewang.com\/55249cf30001ae8a06000338.jpg",
        "description": "数学知识与CSS结合实现酷炫效果",
        "learner": 45625
    }],
    "msg": "成功"
}

javaBean:

注意:无参构造方法必须有 内部类需要static  属性要跟后台数据名字相同

private static class CourseData{

    private int status;
    private List<Course> data;
    private String msg;

    public CourseData() {
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public List<Course> getData() {
        return data;
    }

    public void setData(List<Course> data) {
        this.data = data;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

public static class Course{
    private String name;
    private String picSmall;
    private String picBig;
    private String description;
    public Course() {
    }
    public Course(String name, String picSmall, String picBig, String description) {
        this.name = name;
        this.picSmall = picSmall;
        this.picBig = picBig;
        this.description = description;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPicSmall() {
        return picSmall;
    }

    public void setPicSmall(String picSmall) {
        this.picSmall = picSmall;
    }

    public String getPicBig() {
        return picBig;
    }

    public void setPicBig(String picBig) {
        this.picBig = picBig;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}

java:

private void getRecycData() {
    OkHttpUtils.get()//请求有get和post
            .url(URL)//URL地址
            .addParams("type","4")//URL参数
            .addParams("num",num+"")//URL参数
            .build()
            .execute(new StringCallback() {
                @Override
                public void onError(Call call, Exception e, int id) {
                    //出现error
                }

                @Override
                public void onResponse(String response, int id) {

                    CourseData courseData = JSON.parseObject(response, CourseData.class);
                    List<Course> courseList=courseData.getData();
                    for(int i=0;i<courseList.size();i++){
                        Course c=courseList.get(i);
                        Course course=new Course(c.getName(),c.getPicSmall(),c.getPicBig(),c.getDescription());
                        course2List.add(course);
                    }
                    courseAdapter2.notifyDataSetChanged();
                }
            });
}

在有大量数据的时候fastjson会更好一些

猜你喜欢

转载自blog.csdn.net/iamchan/article/details/83178718