@JsonFormat的導包問題


@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以該格式注入格式
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")//輸出格式
private Date birthday;//出生日期',

在后台像前台傳參數時,日期沒有格式化,網上搜索了,輸出用@JsonFormat但是沒說用哪個包

下面是我脫坑之路:
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

<!-- JSON: jackson -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>

問題補充:我想要的是返回給前台的時間已經格式化,然而上面並沒有解決我的問題於是:

方法如下:

單獨寫一個處理類繼承JsonSerializer

package com.szch.aspect;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 格式化Response時間格式
* 在springmvc返回json數據的時候默認日期字段顯示的是long類型的時間戳
* 如果想要返回格式化的日期如:yyyy-MM-dd這種格式的需要進行出現
*/
public class CustomDateSerializer extends JsonSerializer<Date> {

public void serialize(Date value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonGenerator.writeString(sdf.format(value));
}
}
 

在實體類的屬性字段上添加@JsonSerialize注解

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以該格式注入格式
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//輸出格式
@JsonSerialize(using = CustomDateSerializer.class)
private Date lastLogin;//最后登錄時間',

結果OK了,postman返回

 

 
         



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM