日期:2014-05-16 浏览次数:20376 次
上面一篇文章解决了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);