Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
来源:互联网 发布:对虚拟网络的看法 编辑:程序博客网 时间:2024/06/18 06:58
1,实现一个类型适配器(TypeAdapter)
自定义类型适配器需要实现两个接口:
JsonSerializer<T>
JsonDeserializer<T>
和两个方法:
//序列化public JsonElement serialize(T src, Type typeOfSrc, JsonSerializationContext context);
//反序列化public T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException;
其中 JsonElement 的类层次为:
2,注册类型适配器
Gson gson = new GsonBuilder() .registerTypeAdapter(Timestamp.class, new TimestampAdapter()) .create();
3,自己写的一个 Timestamp 类型适配器
package com.gdsc.core.adapter;import java.lang.reflect.Type;import java.sql.Timestamp;import com.google.gson.JsonDeserializationContext;import com.google.gson.JsonDeserializer;import com.google.gson.JsonElement;import com.google.gson.JsonParseException;import com.google.gson.JsonPrimitive;import com.google.gson.JsonSerializationContext;import com.google.gson.JsonSerializer;/** * Gson TypeAdapter * 实现了 Timestamp 类的 json 化 * @author linwei * */public class TimestampAdapter implements JsonSerializer<Timestamp>, JsonDeserializer<Timestamp> {@Overridepublic Timestamp deserialize(JsonElement json, Type typeOfT,JsonDeserializationContext context) throws JsonParseException {if(json == null){return null;} else {try {return new Timestamp(json.getAsLong());} catch (Exception e) {return null;}}}@Overridepublic JsonElement serialize(Timestamp src, Type typeOfSrc,JsonSerializationContext context) {String value = "";if(src != null){value = String.valueOf(src.getTime());}return new JsonPrimitive(value);}}
- Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
- Gson 自定义TypeAdapter
- 自定义GSON类型适配器
- Gson解析(6)——注册TypeAdapter及处理Enum类型
- Gson注册TypeAdapter及处理Enum类型
- GSON: TypeAdapter
- gson-typeadapter
- 自定义类型适配器的Gson工具类
- Gson-----9、注册TypeAdapter及处理Enum类型
- gson自定义适配器
- Google Gson:TypeAdapter
- JsonDeserializer——Gson自定义解析类型错误的字段
- Gson使用四(TypeAdapter)
- GSON的TypeAdapter系列用法
- Json转换利器Gson之实例六-注册TypeAdapter及处理Enum类型
- Json转换利器Gson之实例六-注册TypeAdapter及处理Enum类型
- Json转换利器Gson之实例六-注册TypeAdapter及处理Enum类型
- Json转换利器Gson之实例六-注册TypeAdapter及处理Enum类型
- javascript获取url参数
- 双绞线接法详解&双绞线的标准的由来与分析
- Sqlhleper 帮助类的编写过程
- Ubuntu中查看网卡信息的基础知识
- 2012年年终总结:只有沉得下去,才能浮得起来
- Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
- AlarmManager 基本使用
- 从mediaReceiver到mediaScanner的扫描过程
- Windows7下PHP开发环境安装配置图文方
- android 几种 layout xml 属性
- 分享9条经典的编程语录
- Linux 下shell中if分支结构
- android联系人批量删除优化时间
- 文件的打开标志 和 文件的访问权限 关系