spring boot項目使用@JsonFormat失效問題的解決
使用@JsonFormat失效
在實體類定義時間格式

原因:項目中配置了fastjson包
返回數(shù)據(jù)使用的也是fastjson包
return JSON.toJSONString(user);
調整代碼使用jackson包進行數(shù)據(jù)轉換后,顯示正常
ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(user);
效果圖:

使用@JsonFormat注解踩過的坑
項目技術棧:Spring boot(2.1.6.RELEASE)+ JDK(1.8)+ Maven(apache-maven-3.5.4)+ Mybatis-plus(3.4.0)
最近在做一個項目系統(tǒng)時,需要Java后端給前端頁面返回時間(要用本地時間--北京時間),后端時間字段映射,轉換,不管怎么處理都是按照北京時間來的,這個是正確的。但是只要一到前端顯示的時候,就會比北京時間少8個小時。檢查各個可能出錯的地方之后,感覺代碼寫的沒有問題。但前端顯示還是少8個小時,那肯定還是有問題的,找吧。我的實體類如下:請注意被紅框圈住的 timezone = "GMT + 8"。后面會用到哦。

錯誤原因
這也是我的一個習慣導致的,被紅框圈住的 timezone = "GMT + 8" 中間的加號兩邊各有一個有空格,然后序列化的時候沒有被識別這個時區(qū)。所以就導致傳給前端顯示的時候少了8個小時,具體的可以看下圖所示。

解決方案
知道問題的原因之后,改這個問題就易如反掌了,把中間的空格刪除即可。如下圖所示。

再次測試,搞定。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringMVC 域對象共享數(shù)據(jù)的實現(xiàn)示例
本文主要介紹了SpringMVC 域對象共享數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Springboot 整合 Java DL4J 實現(xiàn)農(nóng)產(chǎn)品質量檢測系統(tǒng)(推薦)
本文詳細介紹了系統(tǒng)的搭建過程,包括技術選型、數(shù)據(jù)處理、模型訓練和評估等關鍵步驟,系統(tǒng)采用卷積神經(jīng)網(wǎng)絡,對水果成熟度和缺陷進行識別,有效解決了傳統(tǒng)方法成本高、效率低的問題,有助于提升農(nóng)產(chǎn)品檢測的科技含量和自動化水平2024-10-10
Java concurrency集合之ConcurrentLinkedQueue_動力節(jié)點Java學院整理
這篇文章主要介紹了Java concurrency集合之ConcurrentLinkedQueue,需要的朋友可以參考下2017-06-06
springAOP中用joinpoint獲取切入點方法的參數(shù)操作
這篇文章主要介紹了springAOP中用joinpoint獲取切入點方法的參數(shù)操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
Java for-each循環(huán)使用難題2例(高級使用方法)
從Java5起,在Java中有了for-each循環(huán),可以用來循環(huán)遍歷collection和array。For each循環(huán)允許你在無需保持傳統(tǒng)for循環(huán)中的索引,或在使用iterator /ListIterator時無需調用while循環(huán)中的hasNext()方法就能遍歷collection2014-04-04
Kotlin中?StateFlow?或?SharedFlow?的區(qū)別解析
Kotlin協(xié)程中的StateFlow和SharedFlow是響應式數(shù)據(jù)流,分別用于UI狀態(tài)管理和事件通知,StateFlow有初始值,只保留最新值,適用于UI狀態(tài)管理;SharedFlow沒有初始值,可以配置緩存大小,適用于事件通知,感興趣的朋友一起看看吧2025-03-03

