fastjson 3000年问题

有一个字段类型是日期的,如果用户没有填写.默认的日期就是9999-99-99 这样,当这样一个日期,使用fastjson反序列化的时候,会报错.我实际的测了一下,2999年还能正常解析.3000年的时候,就报错了.


String str = "{name:'honway',date:'3000-09-09'}";

User user = JSON.parseObject(str,User.class);

System.out.println(user);

具体错误内容如下


com.alibaba.fastjson.JSONException: For input string: "3000-09-09"


日期格式化问题,fastjson默认采用"yyyy-MM-dd HH:mm:ss"格式化,或者传入一个long型的时间

你可以"{name:'honway',date:'3000-09-09 00:00:00'}";

或者你没法修改你数据库的默认值,那就修改默认的格式化格式

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


public void test(){ 

Stringstr="{name:'honway',date:'3000-09-09'}";

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

User user=JSON.parseObject(str,User.class);

System.out.println(user);    

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,888评论 0 2
  • ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year:...
    雨一流阅读 3,914评论 0 2
  • [Js获取当前日期时间及其它操作] 日期时间脚本库方法列表 js代码://--------------------...
    JS_swh阅读 3,365评论 0 3
  • 本来昨天说好六点半起床背英语的,计划满满,今天也如约起来了,没给自己懒惰的机会,但是早上一直在找自习室的钥匙,没有...
    D023黎阅读 1,184评论 1 1

友情链接更多精彩内容