读书人

Gson的日期格式跨操作系统处置办法

发布时间: 2014-04-18 13:38:12 作者: rapoo

Gson的日期格式跨操作系统处理办法
构造模式,创建一个用于构造Gson对象的类,注册日期序列化适配器,和反序列化适配器,确保一致。代码如下。


package com.ccxe.common.utils;import java.text.DateFormat;import com.google.gson.Gson;import com.google.gson.GsonBuilder;public class UtilGsonBuilder {public static Gson create(){GsonBuilder gb=new GsonBuilder();gb.registerTypeAdapter(java.util.Date.class , new  UtilDateSerializer()).setDateFormat(DateFormat.LONG);gb.registerTypeAdapter(java.util.Date.class , new  UtilDateDeserializer()).setDateFormat(DateFormat.LONG);Gson gson=gb.create();return gson;}}


package com.ccxe.common.utils;import java.lang.reflect.Type;import java.util.Date;import com.google.gson.JsonElement;import com.google.gson.JsonPrimitive;import com.google.gson.JsonSerializationContext;import com.google.gson.JsonSerializer;public class UtilDateSerializer implements JsonSerializer<java.util.Date> {public JsonElement serialize(Date src, Type typeOfSrc,JsonSerializationContext context) {return  new  JsonPrimitive(src.getTime());}}


package com.ccxe.common.utils;import java.lang.reflect.Type;import java.util.Date;import com.google.gson.JsonDeserializationContext;import com.google.gson.JsonDeserializer;import com.google.gson.JsonElement;import com.google.gson.JsonParseException;public class UtilDateDeserializer implements JsonDeserializer<java.util.Date> {public Date deserialize(JsonElement json, Type typeOfT,JsonDeserializationContext context) throws JsonParseException {return  new  java.util.Date(json.getAsJsonPrimitive().getAsLong());  }}



读书人网 >操作系统

热点推荐