JsonFormat :出參
DateTimeFormate : 入參
http://www.iteye.com/problems/53816
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")Date timeline
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
JsonFormate會覆蓋http://blog.csdn.net/silyvin/article/details/71450863中的整體配置
http://blog.csdn.net/jixuju/article/details/52530413
pojo的bean里面通常會有Date類型的數據,直接通過@ResponseBody返回出去的是一個長整型時間戳(從1970到該變量時間的毫秒數),關於原因,網上很多,此處不細講。如果想要返回自定義的日期格式,如:yyyymmddhhmmss,需做相關處理,網上有很多處理方式,大體都是繼承、重寫,比較復雜。實際上JSON已有注解@JsonFormat支持,使用實例:
@JsonFormat(timezone = "GMT+8", pattern = "yyyyMMddHHmmss")
private Date createTime;
作用:1)入參時,請求報文只需要傳入yyyymmddhhmmss字符串進來,則自動轉換為Date類型數據。2)出參時,Date類型的數據自動轉換為14位的字符串返回出去。
詳細可參閱: http://fasterxml.github.io/jackson-annotations/javadoc/2.0.0/com/fasterxml/jackson/annotation/JsonFormat.html
相關的其他注解:
@JsonIgnoreProperties 此注解是類注解,作用是json序列化時將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。 @JsonIgnoreProperties(value = { "word" })
@JsonIgnore 此注解用於屬性或者方法上(最好是屬性上),作用和上面的@JsonIgnoreProperties一樣。
@JsonSerialize 此注解用於屬性或者getter方法上,用於在序列化時嵌入我們自定義的代碼,比如序列化一個double時在其后面限制兩位小數點。 @JsonSerialize(using = CustomDoubleSerialize.class)
@JsonDeserialize 此注解用於屬性或者setter方法上,用於在反序列化時可以嵌入我們自定義的代碼,類似於上面的@JsonSerialize @JsonDeserialize(using = CustomDateDeserialize.class)
入參我個人測試下來有問題,必須用DateTimeFormat