Gson数据解析

转帖请注明本文出自weimeig的博客(https://blog.youkuaiyun.com/weimeig/article/details/80251365),请尊重他人的辛勤劳动成果,谢谢


添加依赖 

build.gradle

dependencies {
    compile 'com.google.code.gson:gson:2.4'
}

右上角Sync Now


AndroidStudio自带了将Json数据自动生成实体类的工具,详情可百度,这里不详述

初步入门案例1:

定义模拟的需要解析的数据

  String cniao = "{\n" +
                    "\"sites\": [\n" +
                    "{ \"name\":\"菜鸟教程\" , \"url\":\"m.runoob.com\" }, \n" +
                    "{ \"name\":\"google\" , \"url\":\"www.google.com\" }, \n" +
                    "{ \"name\":\"微博\" , \"url\":\"www.weibo.com\" }\n" +
                    "]\n" +
                    "}";

定义存放被解析的数据的实体类对象

cainiao.java

/**
     * 存放被解析的数据的实体类对象
     * cainiao.java
     */
    public static class cainiao{
        private List<SitesBean> sites;

        public List<SitesBean> getSites() {
            return sites;
        }

        public void setSites(List<SitesBean> sites) {
            this.sites = sites;
        }

        public static class SitesBean {

            private String name;
            private String url;

            public String getName() {
                return name;
            }

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

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }
    }

数据解析

            //参数1:网络请求所返还的需要解析的数据对象,参数2:要把数据解析到的实体类对象
            cainiao st= new Gson().fromJson(cniao,cainiao.class);


强化练习案例2:

定义模拟的需要解析的数据
String login = "{\n" +
                "    \"code\": \"200\",\n" +
                "    \"info\": \"登录成功\",\n" +
                "    \"data\": {\n" +
                "        \"userId\": \"10000\",\n" +
                "        \"userName\": \"刘德华\",\n" +
                "        \"userDeteilInfo\": {\n" +
                "            \"sex\": \"男\"\n" +
                "        }\n" +
                "    }\n" +
                "}\n";

定义存放被解析的数据的实体类对象

public static class Login{
        private String code;
        private String info;
        private DataBean data;

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getInfo() {
            return info;
        }

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值