日期:2014-05-16  浏览次数:20353 次

Extjs4---json处理日期的问题,JSONObject.toBean转换日期时显示当前日期

上面一篇文章解决了object转json,并在Extjs前台显示的问题,今天又碰到了一个新问题,就是在前台修改日期后,在后台用JSONObject.toBean转为实体类时出问题了:


1、会显示警告:Can't transform property 'birthday' from java.lang.String into java.util.Date. Will register a default Morpher

2、转换的日期为当前的日期,而不是修改后的日期


原因是JSONObject不能识别类似“yyyy-MM-dd”的格式


解决的办法有很多,下面介绍我用的一种方法:


JSONObject object = JSONObject.fromObject(updateUser);
//在JSONObject.toBean加上这行代码就可以了
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"}));
User user = (User) JSONObject.toBean(object, User.class);