记录一个bug,这个问题是使用fastjson的时候遇到了将date的数据转换成long类型而不是转换成string
环境
fastjson使用的是1.2.76
造成的原因
更具环境大家可能已经猜测到了真实的原因-版本太低造成的。这个项目的存在时间比较久所以在使用的依赖上版本比较低,除了源码之外在后续的校验中采用了2.0.0版本进行测试时没有问题的,所以看来在fastjson在高版本的验证验证上已经修复了这个问题,当然这个可能并不是bug可能是当时开发的设想是有什么考量,所以在不升级版本的时候是存在解决方案的
解决方案
1. 升级fastjson的版本
在后续的验证中采用了2.0.0的版本,是可以正常装换的
2. 不升级版本
1)使用fastjson的api
用下面json转换方式替换原来的方式即可,这里面包含了date要转换成什么类型,
JSON.toJSONStringWithDateFormat("参数","yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat);
2)最暴力的解法
做暴力的做法就是在传入的时候直接将其转换成String类型即可,当然这种情况可能会被认为是屎山代码哦