Gson源码解析一

Gson是Android开发常用的网络数据解析库,常用的往往容易会忽略其内部的精彩,接下来我会开启一个系列Gson源码解析,但是看一篇很长的文章,需要一定的耐心,这一系列,我的意图是每一篇文章都打造成短小而精致的“小品”,让读者快速的读完并理解。

解析源码需要找一个点切入才不会迷失在海量的代码中,我先找最常用的函数入手,

首先是fromJson(String json, Type typeOfT),就是把字符串映射为bean(Type是java里所有类型的超接口),fromJson有一系列的重载,最后调用

fromJson(JsonReader reader, Type typeOfT),

 JsonReader(暂且不表,以后会详细介绍),可以理解为能读取json格式的内容的迭代器,让下走,会创建一个TypeToken(暂且不表,以后会详细介绍),可以理解为一种自定义的储存key,走,调用getAdapter获取一个TypeAdapter,之后调用TypeAdapter对象的的read函数完成bean的映射,TypeAdapter是个抽象类型,显然具体的映射会延迟到子类,获取具体TypeAdapter后调用read和write函数完成formGson和toGson.

ok,总结一下,大致上就2部

1.获取具体TypeAdapter。

2.执行具体的TypeAdapter(read或者write)。

下一篇会对第1步进行解析。

猜你喜欢

转载自www.cnblogs.com/xiaoshuailong/p/11093382.html