fastjson将date转换成了long

发布时间 2023-06-28 17:43:48作者: 沐舒坦

 

记录一个bug,这个问题是使用fastjson的时候遇到了将date的数据转换成long类型而不是转换成string

环境

  fastjson使用的是1.2.76

造成的原因

  更具环境大家可能已经猜测到了真实的原因-版本太低造成的。这个项目的存在时间比较久所以在使用的依赖上版本比较低,除了源码之外在后续的校验中采用了2.0.0版本进行测试时没有问题的,所以看来在fastjson在高版本的验证验证上已经修复了这个问题,当然这个可能并不是bug可能是当时开发的设想是有什么考量,所以在不升级版本的时候是存在解决方案的

解决方案

1.升级fastjson的版本

  在后续的验证中采用了2.0.0的版本,可以正常转换。

2.不升级版本

  2.1使用fastjson的api

JSON.toJSONStringWithDateFormat("参数","yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat);

  2.2sql函数控制