fastjoson对日期的序列化与反序列化小结

  初次使用FastJson,在日期的序列化与反序列化被坑住了,浪费了不少时间,最终解决了这个问题。这儿做个记录。
  由于项目涉及的第三方接口较多,交换的JSON格式数据中,日期被定义成了各种格式。最初在实体类的属性中添加了
  @JSONField(name = "record_time", format = "yyyy-MM-dd HH:mm:ss")
private Date recordTime;

一切运行正常。
  后来遇到2015/11/20 11:00:00这种格式的时间。最初,顺其自然地认为加一个
@JSONField(name = "record_time", format = "yyyy/MM/dd HH:mm:ss")
,也就一切OK了。可是在对象序列化成JSON时正常,反序列化时,就出现异常了。困扰很久,反复查阅资料。最终发现问题应该是fastjson能自动解析yyyy-MM-dd HH:mm:ss等几种格式的日期,但yyyy/MM/dd HH:mm:ss这种格式的,解析时就得写自定义的解析器了。自定义的写法,见参考资料中的第二个链接。
参考资料:
https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
https://github.com/yidao620c/thinking-java/tree/master/src/main/java/org/cneng/fastjson

猜你喜欢

转载自godjohnny.iteye.com/blog/2258832