从设计角度看,Adapter很容易联想到适配器设计模式。不错!TypeAdapter正是一个适配器,它提供了数据类型和Json格式转换的通道。在Gson的设计中,TypeAdapter负责对各种数据类型进行转换,比如:整型、Map类型、自定义类型等。TypeAdapter使用泛型设计,提供了两个抽象方法write和read。
把对象输出到JsonWriter中。JsonWriter提供了输出各种类型属性的方法,通过重载提供了write(..)/value(...)方法,具体和参考JsonWriter的介绍
public abstract void write(JsonWriter out, T value) throws IOException
方法名称指明了需要做的业务,参数则提供了更通用的入参类型Writer。
该方法可以把对象输出到Writer类型的输出流中。内部实现上使用包装类JsonWtiter完成输出格式的转换。
public final void toJson(Writer out, T value) throws IOException
方法不指定输出参数,默认返回json格式的String类型结果。实际上使用的是StringWriter完成输出流转换的,具体操作是,创建StringWriter之后,调用前面