您的位置:首页 > 其它

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

2016-08-01 15:22 435 查看
from :  http://blog.csdn.net/sxsboat/article/details/6776289

//用到的类

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可以非常方便的序列化和反序列化数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: