问题背景

        日常开发碰到的小问题,使用JSON.toJSONString的时候,需要转化的实体类里面有Date类型的日期,在转JSON之前,字段的数值是2024-01-12,但是转化完变成了1704988800000

解决方法

        原来的代码

requestJson = JSON.toJSONString(tGrpTbPolicy, SerializerFeature.WriteMapNullValue);

       修改后代码

JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";

requestJson = JSON.toJSONString(tGrpTbPolicy, SerializerFeature.WriteMapNullValue ,SerializerFeature.WriteDateUseDateFormat);

总结

        其实问题就是JSON转化过程中,把Date类型字段转为了它的fastTime值,fastTime就是数字串,这时候,就必须使用“JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd"”提前格式化JSON的默认日期数据类型,随后在toJSONString方法中使用“SerializerFeature.WriteDateUseDateFormat”序列化日期,两个配合使用,就可以解决问题。

        如果你的Date字段不多,而且这个字段很多地方都要进行转,那我还是建议在实体类的Date类型段上添加@JSONField注解来解决这个问题,会比一处一处加这两行代码要快得多。

推荐阅读:

SQL索引结构、使用、优化-深入浅出

ArrayList(源码分析)—面试经典问题

SpringBoot-AOP深入浅出通俗易懂

最后我还整理汇总了⼀些 Java ⾯试相关的⾼质量 PDF 资料和免费Idea账号

公众号:Java小白,回复“⾯试” 和“idea破解”即可获取!

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: