SpringMVC返回JSON數據時日期格式化問題

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 框架

Java代碼   收藏代碼
  1.    
  2. import java.io.IOException;  
  3. import java.text.SimpleDateFormat;  
  4. import java.util.Date;  
  5. import org.codehaus.jackson.JsonGenerator;  
  6. import org.codehaus.jackson.JsonProcessingException;  
  7. import org.codehaus.jackson.map.JsonSerializer;  
  8. import org.codehaus.jackson.map.SerializerProvider;  
  9.   
  10. /**  
  11.  * 自定義返回JSON 數據格中日期格式化處理  
  12.   
  13.   
  14. public class CustomDateSerializer extends JsonSerializer<Date> {  
  15.     @Override  
  16.     public void serialize(Date value, JsonGenerator jgen,  
  17.             SerializerProvider provider) throws IOException,  
  18.             JsonProcessingException {  
  19.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  20.         String formattedDate = formatter.format(value);  
  21.         jgen.writeString(formattedDate);  
  22.     }  
  23.   
  24. }  



javabean對應屬性的方法添加註解: ide

Java代碼   收藏代碼
    1. @JsonSerialize(using = CustomDateSerializer.class)  
    2.     public Date getCreateDate() {  
    3.         return createDate;  
    4.     } 
相關文章
相關標籤/搜索