美文网首页
Jackson Gson Date long

Jackson Gson Date long

作者: Thresh0ld | 来源:发表于2017-05-08 10:56 被阅读266次

Jackson默认序列化Date和TimeStamp对象时会将其转换成long类型,也就是UTC时间戳(从1970年1月1日零点开始所经过的毫秒数)。这个对跨时区来说是有好处的,但是对程序猿来说不是很友好,一眼看到这个Json不经过计算的话根本不知道是哪天哪个时间。
不管怎样,先回到本文主题吧,怎么用Gson处理Date成long类型或将long类型转换成Date

废话不多说,上代码。

 JsonDeserializer<Date> dateJsonDeserializer = (json,typOfT,context) -> new Date(json.getAsJsonPrimitive().getAsLong());
 JsonSerializer<Date> dateJsonSerializer = (src, typeOfSrc, context) -> new JsonPrimitive(src.getTime());

 Gson gson = new GsonBuilder()
                .registerTypeAdapter(Date.class,  dateJsonSerializer)
                .registerTypeAdapter(Date.class, dateJsonDeserializer)
                .create();

嗯,就是这么简单。


关注我的公众号.jpg

相关文章

网友评论

      本文标题:Jackson Gson Date long

      本文链接:https://www.haomeiwen.com/subject/zhdmtxtx.html