默认情况下,fasterxml json只支持几种format,但是肯定不支持"yyyy-MM-dd HH:mm:ss"格式,所以在使用中,如果碰到一下的error,就要自己指定date format了。
error 输出:
om.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of java.util.Date from String value '2017-04-25 18:20:02': not a valid representation (error: Failed to parse Date value '2017-04-25 18:20:02': Can not parse date "2017-04-25
18:20:02": 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"))
解决方法:
在你的java 中,加入下面的code
import com.fasterxml.jackson.annotation.*;
@JsonIgnoreProperties(ignoreUnknown = true)
public class EmployeeProfile{
private String name;
private Integer age;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date creation_date;
}
同时注意要依赖fasterxml的那几个包。
如下是maven的例子:
<!-- if use jackson-annotations-*.jar,jackson-core-.jar,jackson-databind-.jar,
then it need config StringHttpMessageConverter and MappingJackson2HttpMessageConverter
in spring-mvc.xml
-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>