關於后端對實體類數據進行格式化輸出的方法及使用@JsonSerialize和@JsonFormat


關於@JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone="GMT+8")的用法和使用場景

 

@JsonFormat注解:可以將實體類中的日期格式進行格式化輸出。

 

例:

 

(pattern = "yyyy-MM-dd", locale = "zh", timezone="GMT+8")
public Date getCreated() {
return created;
}

 

從數據庫讀取出來的是一段時間戳,在ssm框架中加上這個就可以控制其輸出格式。

 

@JsonSerialize(using=StatusJsonSerializer.class)     該注解:可以將實體類中按照自己心儀的格式進行格式化輸出。
public Object getUserStatus() {
return userStatus;
}

 

創建StatusJsonSerializer.java文件

 

package cn.mollie.serializer;

import java.io.IOException;


import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

public class StatusJsonSerializer extends JsonSerializer<Integer>{

@Override
public void serialize(Integer value, JsonGenerator gen,
SerializerProvider serializers) throws IOException,
JsonProcessingException {
// TODO Auto-generated method stub

switch (value) {
case -1:
gen.writeString("離職");
break;
case 0:
gen.writeString("空閑");
break;
case 1:
gen.writeString("工作");
break;
default:
gen.writeString("空閑");
break;
}
}

}

 

 

需要注意的一點:當需要對一個整形格式化成非整形時,需要把實體類中的元素設置為Object類型。


免責聲明!

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



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