Gson的TypeAdapter里write、read方法详解

TypeAdapter 是 Gson 库中用于自定义类型序列化和反序列化的核心抽象类,主要通过write和read方法实现Java对象与JSON数据之间的转换。

write方法

write(JsonWriter out, T value)方法用于将Java对象转换为JSON格式数据。参数JsonWriter提供了写入功能,T代表待转换的Java对象类型。该方法通过泛型设计支持不同数据类型的转换,例如整型、Map类型、自定义类型等。内部实现中,JsonWriter通过包装类完成输出流格式转换,支持将对象输出到字符串或 JsonTree 等不同格式。

read方法

read(JsonReader in)方法用于将JSON数据反序列化为Java对象。参数JsonReader提供读取功能,通过泛型实现从JSON字符串或树形结构中恢复出原始Java对象。该方法内部调用read完成具体类型的数据解析,支持数组、对象、字符串等常见类型的转换。 12

核心功能差异

write:主要负责序列化操作,将Java对象转换为JSON格式(如字符串或树形结构)。

read:主要负责反序列化操作,从JSON数据恢复为Java对象。

TypeAdapter自Gson 2.0版本引入后,替代了早期的 JsonSerializer 和 JsonDeserializer 接口,提供更高效的序列化机制,支持自定义类型转换逻辑。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容