ObjectMapper转换为实体时,对于时间的格式化处理是调用自己的StdDateFormat类来实现日期格式话的,此类有
"yyyy-MM-dd'T'HH:mm:ss.SSSZ";
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
"yyyy-MM-dd";
"EEE, dd MMM yyyy HH:mm:ss zzz";
四种格式化类型,而我们平时使用日期都是"yyyy-MM-dd HH:mm:ss"类型的偏多,
这时转换肯定抛出异常-----------------
org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-10 12:23:54': not a valid representation (error: Can not parse date "2012-12-10 12:23:54": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
"yyyy-MM-dd'T'HH:mm:ss.SSSZ";
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
"yyyy-MM-dd";
"EEE, dd MMM yyyy HH:mm:ss zzz";
四种格式化类型,而我们平时使用日期都是"yyyy-MM-dd HH:mm:ss"类型的偏多,
这时转换肯定抛出异常-----------------
org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-10 12:23:54': not a valid representation (error: Can not parse date "2012-12-10 12:23:54": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
at [Source: java.io.StringReader@e8e86; line: 1, column: 19] (through reference chain: zz.housework.entity.Staff["occupationDate"])
这个时候需要在调用ObjectMapper的地方为它增加新的时间格式,比如需要使用“yyyy-MM-dd HH:mm:ss”的格式,那就加上objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))就OK了。