Android:那些年错过的Gson(一)--Gson的基本使用

概述

序列化:将数据结构或对象转换成可用于存储或者传输的数据格式的过程;

反序列化:将序列化过程中生成的数据还原成数据结构或者对象的过程;

对于数据的序列化与反序列化,Gson框架一直是我的首选。自己封装了一套Retrofit+OkHttp+RxAndroid的简易框架,其中的数据解析一直用的是Gson。由于Retrofit框架内部已经完成了对Gson序列化与反序列化的操作封装,一直少有接触Gson真正的序列化与反序列化操作,至于阅读源码什么的,就更不可能了。趁着最近有点空余的时间,赶紧去Gson官网看了看,写点笔记,补补这部分的空缺。(原谅我对于Gson的操作一直是停留了toGson(),fromGson()这两个Api的)。写完这个系列的博客,我希望我对Gson认知能够达到的水准为

  • Gson的基本使用
  • Gson的进阶自定义序列化与反序列化
  • Gson的源码分析序列化与反序列化过程
  • 解决自己在开发中遇到数据解析难题

基本使用

1.Android Studio 导包

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

2.基本类型数据

基本数据类型的序列化与反序列化操作都比价简单

        Gson gson = new Gson();
        
        gson.toJson(new Character('a')); // ==>"a"
        gson.toJson(1); // ==>1
        gson.toJson(1.0f); // ==>1.0
        gson.toJson(1.0d); // ==>1.0
        gson.toJson(1l); // ==>1
        gson.toJson(true); // ==>true
        gson.toJson("hello world"); // ==>"hello world"


        gson.fromJson("\'a\'", char.class); // ==> a
        gson.fromJson("1", int.class); // ==>1
        gson.fromJson("1.0", float.class); // ==>1.0
        gson.fromJson("1.0", double.class); // ==>1.0
        gson.fromJson("1", long.class); // ==>1
        gson.fromJson("true", boolean.class);   // ==>true
        gson.fromJson("\"hello world\"", String.class); // ==>hello world

对于那些具备自动封箱操作的基本数据类型只要他们反序列化的数据源一样,则生成的对象也是一样的

        Integer one = gson.fromJson("1", in
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值