https://dannywei.iteye.com/blog/2022929java
在運用SpringMVC框架開發時,能夠直接在方法上添加註解 @ResponseBody 返回JSON數據,若是javabean的屬性中包含 Date日期類型的數據,默認的轉換格式並非咱們想要的 yyyy-MM-dd HH:mm:ss這樣的格式,那又如何實現這樣的格式轉化呢?
測試環境
SpringMVC 3.2.0
Jackson 1.7.1
解決方案
其實SpringMVC的JSON轉換方法是利用了 Jackson 這個開源的第三方類庫,它提供了一些自定義格式的方法。只要咱們繼承它的抽象類:public abstract class JsonSerializer<T>,並在相應的屬性方法上添加指定註解:@JsonSerialize 便可實現。
編寫Date日誌自定義轉換類:
CustomDateSerializer.java 框架
-
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.codehaus.jackson.JsonGenerator;
- import org.codehaus.jackson.JsonProcessingException;
- import org.codehaus.jackson.map.JsonSerializer;
- import org.codehaus.jackson.map.SerializerProvider;
-
- /**
- * 自定義返回JSON 數據格中日期格式化處理
-
-
- public class CustomDateSerializer extends JsonSerializer<Date> {
- @Override
- public void serialize(Date value, JsonGenerator jgen,
- SerializerProvider provider) throws IOException,
- JsonProcessingException {
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String formattedDate = formatter.format(value);
- jgen.writeString(formattedDate);
- }
-
- }
javabean對應屬性的方法添加註解: ide
- @JsonSerialize(using = CustomDateSerializer.class)
- public Date getCreateDate() {
- return createDate;
- }