springboot json時間格式化處理的方法
application.properties中加入如下代碼
springboot 默認(rèn)使用 jackson 解析 json
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8
如果個別實體需要使用其他格式的 pattern,在實體上加入注解即可
import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; public class MrType { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date createdDate; }
Spring Boot 日期數(shù)據(jù)格式轉(zhuǎn)換@JsonFormat實例
pojo的bean里面通常會有Date類型的數(shù)據(jù),直接通過@ResponseBody返回出去的是一個長整型時間戳(從1970到該變量時間的毫秒數(shù)),關(guān)于原因,網(wǎng)上很多,此處不細(xì)講。如果想要返回自定義的日期格式,如:yyyymmddhhmmss,需做相關(guān)處理,網(wǎng)上有很多處理方式,大體都是繼承、重寫,比較復(fù)雜。實際上JSON已有注解@JsonFormat支持,使用實例:
@JsonFormat(timezone = "GMT+8", pattern = "yyyyMMddHHmmss") private Date createTime;
作用:1)入?yún)r,請求報文只需要傳入yyyymmddhhmmss字符串進(jìn)來,則自動轉(zhuǎn)換為Date類型數(shù)據(jù)。2)出參時,Date類型的數(shù)據(jù)自動轉(zhuǎn)換為14位的字符串返回出去。
相關(guān)的其他注解:
- @JsonIgnoreProperties 此注解是類注解,作用是json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。 @JsonIgnoreProperties(value = { "word" })
- @JsonIgnore 此注解用于屬性或者方法上(最好是屬性上),作用和上面的@JsonIgnoreProperties一樣。
- @JsonSerialize 此注解用于屬性或者getter方法上,用于在序列化時嵌入我們自定義的代碼,比如序列化一個double時在其后面限制兩位小數(shù)點。 @JsonSerialize(using = CustomDoubleSerialize.class)
- @JsonDeserialize 此注解用于屬性或者setter方法上,用于在反序列化時可以嵌入我們自定義的代碼,類似于上面的@JsonSerialize @JsonDeserialize(using = CustomDateDeserialize.class)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java 異常被catch后 將會繼續(xù)執(zhí)行的操作
這篇文章主要介紹了java 異常被catch后 將會繼續(xù)執(zhí)行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02關(guān)于Java整合RabbitMQ實現(xiàn)生產(chǎn)消費的7種通訊方式
這篇文章主要介紹了關(guān)于Java整合RabbitMQ實現(xiàn)生產(chǎn)消費的7種通訊方式,消息中間件是基于隊列與消息傳遞技術(shù),在網(wǎng)絡(luò)環(huán)境中為應(yīng)用系統(tǒng)提供同步或異步、可靠的消息傳輸?shù)闹涡攒浖到y(tǒng),需要的朋友可以參考下2023-05-05Springcloud seata nacos環(huán)境搭建過程圖解
這篇文章主要介紹了Springcloud seata nacos環(huán)境搭建過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03