1. 程式人生 > >json fasterxml date 日期格式 設定

json fasterxml date 日期格式 設定

預設情況下,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>