Gson概述
Gson是Google内部为了使用的一个将Java对象序列化为JSON的Java类库,从2008年5月Google开源此项目后被广泛使用。类似的项目还有FastJson、JackSon等。
Gson使用
Gson对基本数据类型的解析
1  | 
  | 
###Gson解析对象
1  | 
  | 
###Gson对集合类的解析
1  | 
  | 
使用Gson的几点注意事项
eg:使用Gson解析A.class
- 如果A含有内部类且不是static的,则在解析是会忽略该内部类。
 - Gson会自动加载A.class中所引用的类,并对其进行解析。(类似于克隆)
 - 如果A中含有transient修饰的变量时,Gson会忽略该变量。
 - 如果A中含有组合类型,Gson在双向解析时都会忽略
 - 如果A中的变量赋值为null,Gson在toJson的时候会忽略该变量,在输出的json中也不会含有该字段(变量)。
 - 如果A中有字段(变量)id,但json中没有,则id会初始化为对应的默认值(int 0,obj null)
如果A中没有字段(变量)id,但json中有,则生成A对象时会忽略id这个变量。 - Gson是不含有状态量的对象,因此只需要初始化一次就可以反复使用。
 - Gson提供了另外一种构造器GsonBuilder类,来为用户提供需要自定义的Gson解析对象。
 
##Gson还提供了很多自定义的功能
- 使用@Since(versionCode)可以指定相应的版本对某个变量进行解析或者忽略。
 - 还可以使用GsonBuilder的excludeFieldsWithModifiers()方法来忽略某些特殊修饰词进行修饰的成员变量的解析。
 - 支持用户自定义的解析策略
更多自定义的功能,可以查看Gson的帮助文档。