Gson是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。能够将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。java
而后咱们先写一个demo来用Gson将一个json转化为json对象:json
输出:google
这里定义的Person类对象
、blog
而后咱们看看是怎么Gson经过反射转化为java对象的,主要是看Gson类的fromJson(Reader json, Type typeOfT)方法,将原来传进去的String类型的json封装到JsonReader里面,这个就是读取数据的处理,就很差好看了,具体操做是在fromJson里面。字符串
而后咱们看看对传进去的typeOfT作了什么处理,主要看一下getAdapter里面进行了怎么样的转化。get
如下是com.google.gson.internal.ConstructorConstructor获取对象的构造方法。变量
其实更关心反射取到的字段,如下是获取类的变量字段,主要仍是经过反射的Field[] fields = raw.getDeclaredFields()。反射
其实简单一点,咱们能够写个相似的解析的方式:方法