springMVC 返回Json實體類屬性自定義格式轉換

從數據庫中獲取的數據往往精度過高。有時候前端並不需要這麼高的精度。
這裏記錄一下我對實體類某些屬性轉換的過程,及遇到的問題。
首先定義一個數據轉換類DataJsonSerializer:將目標數據保留一位小數



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 DataJsonSerializer extends JsonSerializer<Double>{

	private DecimalFormat df = new DecimalFormat("##0.0");

	@Override
	public void serialize(Double value, JsonGenerator jgen, SerializerProvider provide)
			throws IOException, JsonProcessingException {
		// TODO Auto-generated method stub
		jgen.writeString(df.format(value));
	}
}
下面是實體類對應的註解@JsonSerialize
      @JsonSerialize(using=DataJsonSerializer.class)
      public double getLevel() {
          return level;
      }

這樣便可方便的處理類型的轉換。有效提高前後端數據的匹配。
注意一定要把包導對了。。一開始做老是拋異常。。原來是把org.codehaus.jackson 相關包給導進來了(因爲項目依賴以前的工具,所以有這個包),所以一直報錯抓狂


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章