1 Json 定义:轻量级的数据交换格式
2 json反序列化成bean,bean序列化成json,都是通Json解析器。

3 json 基于键值对和值的有序列表两种数据结构。
4 解析方式 事件驱动,?
5 typeadapter 自定义解析类,避免反射,提高效率。一般类都是通过反射的typeAdapter来创建实例,但性能差
6 since util expose等高级api
7 创造Gson两种方式,a,new Gson() b,new GsonBuilder(),
8 typeadapter是json解析的核心,关键方法read,将字符串转换为bean,关键方法write将bean转换为json.
9 字段空值异常处理,a,自定义typeadapter。b,自定义jsonDeserializer
10 Gson解析流程,a,反射创建bean,b,解析字符串,c,赋值
11 Gson的解析基于事件驱动,需要时才加载,占用内存小,适用于数据量大的json,性能一般。对应于XML的SA,PULl解析。
对应的是一次性加载到内存找中,类似的是XML的DOM解析。
12 JsonELement 抽象类,有四个子类。
13 解析流程


14 适配器 任意的类型都对应一种typeadapter,比如String,boolean的typeadapter。对应关系可以在TypeAdapers中查看

自定义的类是通过反射的typeadapter来完成,也可以自定义typeadapter。
15 Gson 构造方法,排除器,构造器反射,字段命名策略,typeadapter的工厂列表?
16 jsonstr->排除器->自定义的typeadapter->Gson自带的typeAdapter-> 反射的typeadapter.
网友评论