1. 程式人生 > >springmvc fastjson 反序列化時間格式化

springmvc fastjson 反序列化時間格式化

        第一種情況是從後臺拿到資料,進行反序列化,反序列化格式時間:試了一下很多網上的方法,最後發現還是在實體類上面的日期欄位加上如下註解,可以完成格式化操作,否則預設就都是時間戳的格式:

@JSONField (format="yyyy-MM-dd HH:mm:ss")  
public Date birthday;  

@JSONField (format="yyyy-MM-dd HH:mm:ss")  
public Date birthday; 

      第二種情況是:response返回給前段的時間格式,一開始是時間戳,需要轉成想要的格式yyyy-MM-dd重寫方法:


  1. package com.jjs.util;  
  2. import java.io.IOException;  
  3. import org.springframework.http.HttpOutputMessage;  
  4. import org.springframework.http.converter.HttpMessageNotWritableException;  
  5. import com.alibaba.fastjson.JSON;  
  6. import com.alibaba.fastjson.serializer.SerializerFeature;  
  7. import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;  
  8. publicclass JsonHttpMessageConverter extends FastJsonHttpMessageConverter {  
  9.     @Override
  10.     protectedvoid writeInternal(Object obj, HttpOutputMessage outputMessage)  
  11.             throws IOException, HttpMessageNotWritableException {  
  12.         // TODO Auto-generated method stub
  13.         JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH"
    ;  
  14.         JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat);  
  15.         super.writeInternal(obj, outputMessage);  
  16.     }  
  17. }  

然後,將springMVC.xml(具體檔名以專案而定) 的配置修改為如下, 引用重寫了writeInternal()方法的類進行json序列化
  1. <mvc:annotation-driven>
  2.         <mvc:message-convertersregister-defaults="true">
  3.             <!-- <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> -->
  4.             <beanclass="com.jjs.util.JsonHttpMessageConverter">
  5.                 <propertyname="supportedMediaTypes">
  6.                     <list>
  7.                         <value>text/html;charset=UTF-8</value>
  8.                         <value>application/json</value>
  9.                     </list>
  10.                 </property>
  11.                 <propertyname="features">
  12.                     <list>
  13.                     <value>WriteDateUseDateFormat</value>
  14.                         <value>WriteMapNullValue</value>
  15.                         <value>QuoteFieldNames</value>
  16.                     </list>
  17.                 </property>
  18.             </bean>
  19.         </mvc:message-converters>
  20.     </mvc:annotation-driven>

         記錄一下,方便檢視