springboot json時(shí)間格式化處理的方法
application.properties中加入如下代碼
springboot 默認(rèn)使用 jackson 解析 json
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8
如果個(gè)別實(shí)體需要使用其他格式的 pattern,在實(shí)體上加入注解即可
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實(shí)例
pojo的bean里面通常會(huì)有Date類型的數(shù)據(jù),直接通過(guò)@ResponseBody返回出去的是一個(gè)長(zhǎng)整型時(shí)間戳(從1970到該變量時(shí)間的毫秒數(shù)),關(guān)于原因,網(wǎng)上很多,此處不細(xì)講。如果想要返回自定義的日期格式,如:yyyymmddhhmmss,需做相關(guān)處理,網(wǎng)上有很多處理方式,大體都是繼承、重寫(xiě),比較復(fù)雜。實(shí)際上JSON已有注解@JsonFormat支持,使用實(shí)例:
@JsonFormat(timezone = "GMT+8", pattern = "yyyyMMddHHmmss") private Date createTime;
作用:1)入?yún)r(shí),請(qǐng)求報(bào)文只需要傳入yyyymmddhhmmss字符串進(jìn)來(lái),則自動(dòng)轉(zhuǎn)換為Date類型數(shù)據(jù)。2)出參時(shí),Date類型的數(shù)據(jù)自動(dòng)轉(zhuǎn)換為14位的字符串返回出去。
相關(guān)的其他注解:
- @JsonIgnoreProperties 此注解是類注解,作用是json序列化時(shí)將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。 @JsonIgnoreProperties(value = { "word" })
- @JsonIgnore 此注解用于屬性或者方法上(最好是屬性上),作用和上面的@JsonIgnoreProperties一樣。
- @JsonSerialize 此注解用于屬性或者getter方法上,用于在序列化時(shí)嵌入我們自定義的代碼,比如序列化一個(gè)double時(shí)在其后面限制兩位小數(shù)點(diǎn)。 @JsonSerialize(using = CustomDoubleSerialize.class)
- @JsonDeserialize 此注解用于屬性或者setter方法上,用于在反序列化時(shí)可以嵌入我們自定義的代碼,類似于上面的@JsonSerialize @JsonDeserialize(using = CustomDateDeserialize.class)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot使用Jackson配置全局時(shí)間日期格式
- springboot 返回json格式數(shù)據(jù)時(shí)間格式配置方式
- SpringBoot中@Pattern注解對(duì)時(shí)間格式校驗(yàn)方式
- SpringBoot利用jackson格式化時(shí)間的三種方法
- springboot2.0 配置時(shí)間格式化不生效問(wèn)題的解決
- SpringBoot中時(shí)間類型 序列化、反序列化、格式處理示例代碼
- 關(guān)于Springboot日期時(shí)間格式化處理方式總結(jié)
- springboot項(xiàng)目中統(tǒng)一時(shí)間格式處理方法
相關(guān)文章
java 異常被catch后 將會(huì)繼續(xù)執(zhí)行的操作
這篇文章主要介紹了java 異常被catch后 將會(huì)繼續(xù)執(zhí)行的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02關(guān)于Java整合RabbitMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)的7種通訊方式
這篇文章主要介紹了關(guān)于Java整合RabbitMQ實(shí)現(xiàn)生產(chǎn)消費(fèi)的7種通訊方式,消息中間件是基于隊(duì)列與消息傳遞技術(shù),在網(wǎng)絡(luò)環(huán)境中為應(yīng)用系統(tǒng)提供同步或異步、可靠的消息傳輸?shù)闹涡攒浖到y(tǒng),需要的朋友可以參考下2023-05-05spring boot整合netty的實(shí)現(xiàn)方法
這篇文章主要介紹了spring boot整合netty的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08java取出list中某幾個(gè)屬性組成一個(gè)新集合的幾種方式
在Java開(kāi)發(fā)中經(jīng)常需要對(duì)List中的對(duì)象進(jìn)行一些操作,例如對(duì)某個(gè)字段進(jìn)行過(guò)濾、排序等,這篇文章主要給大家介紹了關(guān)于java取出list中某幾個(gè)屬性組成一個(gè)新集合的幾種方式,需要的朋友可以參考下2024-03-03Java8實(shí)戰(zhàn)之Stream的延遲計(jì)算
JDK中Stream的中間函數(shù)如 filter(Predicate super T>)是惰性求值的,filter并非對(duì)流中所有元素調(diào)用傳遞給它的Predicate,下面這篇文章主要給大家介紹了關(guān)于Java8實(shí)戰(zhàn)之Stream延遲計(jì)算的相關(guān)資料,需要的朋友可以參考下2021-09-09深入講解基于JDK的動(dòng)態(tài)代理機(jī)制
眾所周知相比于靜態(tài)代理,動(dòng)態(tài)代理避免了開(kāi)發(fā)人員編寫(xiě)各個(gè)繁鎖的靜態(tài)代理類,下面這篇文章主要給大家介紹了關(guān)于基于JDK的動(dòng)態(tài)代理機(jī)制的相關(guān)資料,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07Java實(shí)現(xiàn)大數(shù)運(yùn)算的實(shí)例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)大數(shù)運(yùn)算的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Springcloud seata nacos環(huán)境搭建過(guò)程圖解
這篇文章主要介紹了Springcloud seata nacos環(huán)境搭建過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03