手动解析json

来源:互联网 发布:云计算的好处 编辑:程序博客网 时间:2024/06/03 05:55

1 示例json数据链接 http://api.bilibili.com/online_list?_device=android&platform=android&typeid=13&sign=a520d8d8f7a7240013006e466c8044f7

2 此数据格式的json不能直接用GsonFormat自动生成,需要手动生成。生成的bean类如下

public class TestBean{    private int code;    private List<ListBean> list;    public int getCode()    {        return code;    }    public void setCode(int code)    {        this.code = code;    }    public List<ListBean> getList()    {        return list;    }    public void setList(List<ListBean> list)    {        this.list = list;    }    public static class ListBean    {        private String aid;        private String author;        private String create;        private String description;        private String duration;        private int mid;        private String pic;        private String title;        private String typename;        public String getAid()        {            return aid;        }        public void setAid(String aid)        {            this.aid = aid;        }        public String getAuthor()        {            return author;        }        public void setAuthor(String author)        {            this.author = author;        }        public String getCreate()        {            return create;        }        public void setCreate(String create)        {            this.create = create;        }        public String getDescription()        {            return description;        }        public void setDescription(String description)        {            this.description = description;        }        public String getDuration()        {            return duration;        }        public void setDuration(String duration)        {            this.duration = duration;        }        public int getMid()        {            return mid;        }        public void setMid(int mid)        {            this.mid = mid;        }        public String getPic()        {            return pic;        }        public void setPic(String pic)        {            this.pic = pic;        }        public String getTitle()        {            return title;        }        public void setTitle(String title)        {            this.title = title;        }        public String getTypename()        {            return typename;        }        public void setTypename(String typename)        {            this.typename = typename;        }        @Override        public String toString()        {            return "ListBean{" +                   "aid='" + aid + '\'' +                   ", author='" + author + '\'' +                   ", create='" + create + '\'' +                   ", description='" + description + '\'' +                   ", duration='" + duration + '\'' +                   ", mid=" + mid +                   ", pic='" + pic + '\'' +                   ", title='" + title + '\'' +                   ", typename='" + typename + '\'' +                   '}';        }    }
3  联网请求得到json数据,手动解析json数据

 private TestBean processData(String json)    {        TestBean testBean = new TestBean();        try        {            List<TestBean.ListBean> list = new ArrayList<>();            JSONObject jsonObject = new JSONObject(json);            int code = jsonObject.optInt("code");            testBean.setCode(code);            JSONObject listObject = jsonObject.optJSONObject("list");            testBean.setList(list);            if (listObject != null)            {                for (int i = 0; i < 12; i++)                {                    JSONObject dataobject = listObject.optJSONObject("" + i);                    if (dataobject != null)                    {                        TestBean.ListBean listBean = new TestBean.ListBean();                        String aid = dataobject.optString("aid");                        listBean.setAid(aid);                        String author = dataobject.optString("author");                        listBean.setAuthor(author);                        String create = dataobject.optString("create");                        listBean.setCreate(create);                        String description = dataobject.optString("description");                        listBean.setDescription(description);                        String duration = dataobject.optString("duration");                        listBean.setDuration(duration);                        String pic = dataobject.optString("pic");                        listBean.setPic(pic);                        String title = dataobject.optString("title");                        listBean.setTitle(title);                        String typename = dataobject.optString("typename");                        listBean.setTypename(typename);                        int mid = dataobject.optInt("mid");                        listBean.setMid(mid);                        list.add(listBean);                    }                }            }        }        catch (JSONException e)        {            e.printStackTrace();        }        return testBean;    }

0 0
原创粉丝点击