1、对于引用类型 和 基本类型 序列化时 (在默认值方面) 是不一样的
# QuickStart 因为 Gson 只有这一个 对外 公开的构造器, public Gson() { } 而其内部的属性皆是 final修饰的, 故 在已创建 new Gson() 所有的属性都会被初始化,且不可改变, 即 Gson 序列化和 反序列化 都是采用的 策略和规则 都是默认的行为。 而且 Gson 是 final修饰的类 , 不可被继承 ,被扩展 但是 可以通过 GsonBuilder 进行更改原始的默认配置 和 扩展一些额外的功能。 # Gson 序列化与反序列化 Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法, 前者实现反序列化,后者实现了序列化。 [new Gson() 序列化时] 1、 不序列化属性为 null的值, 若需要输出null或转换null值,则需要自定义转换规则 2、 对于基本类型 和 引用对象的序列化, 默认值的处理不同; 如 int 类型 若没有设置值,则默认值为 0, 则会序列化为 值为0 的json 而 Integer 类型 若没有设置值 ,则默认值为 null , 该属性不会被序列化 [new Gson() 反序列化时] 1、对于未知的json属性,则会忽略 2、设置了@Expose(deserialize=false)即使json中 包含