Gson 序列化对象和反序列化 实例

//用到的类

class NetNews

{
    private String result;
    private ArrayList<News> data = new ArrayList<News>();
    
    public NetNews(String result, ArrayList<News> data) {
        this.result = result;
        this.data = data;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public ArrayList<News> getData() {
        return data;
    }

    public void setData(ArrayList<News> data) {
        this.data = data;
    }

    public static class News
    {
        private String name;
        private int age;
        private String time;
        public News(String name, int age, String time) {
            this.name = name;
            this.age = age;
            this.time = time;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getTime() {
            return time;
        }
        public void setTime(String time) {
            this.time = time;
        }
        
    }

}


//用到的自定义的json格式数据

String json = "{\"result\":\"ok\",\"data\":[{\"name\":\"wang\",\"age\":18,\"time\":\"2011-01-22\"}," +
                "{\"name\":\"liu\",\"age\":21,\"time\":\"2000-06-11\"}]}";

//生成一个Gson对象

Gson gson = new Gson();


//可以很方便的将json格式反序列化为一个对象对输入

System.out.println(gson.fromJson(json, NetNews.class).getData().get(1).getTime());

//以上输入结果为:2000-06-11



//以下为将一个对象序列化成json数据

ArrayList<NetNews.News> list = new ArrayList<NetNews.News>();
list.add(new NetNews.News("ming", 21, "2011-9-14"));
list.add(new NetNews.News("lei", 19, "2000-3-18"));
NetNews netNews = new NetNews("ok", list);


System.out.println(gson.toJson(netNews));

//以上输入结果为:{"result":"ok","data":[{"name":"ming","age":21,"time":"2011-9-14"},{"name":"lei","age":19,"time":"2000-3-18"}]}


//可以看到Gson可以非常方便的序列化和反序列化数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值