您好,登錄后才能下訂單哦!
第一種情況是從后臺拿到數據,進行反序列化,反序列化格式時間:試了一下很多網上的方法,最后發現還是在實體類上面的日期字段加上如下注解,可以完成格式化操作,否則默認就都是時間戳的格式:
@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重寫方法:
package com.jjs.util; import java.io.IOException; import org.springframework.http.HttpOutputMessage; import org.springframework.http.converter.HttpMessageNotWritableException; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; public class JsonHttpMessageConverter extends FastJsonHttpMessageConverter { @Override protected void writeInternal(Object obj, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { // TODO Auto-generated method stub JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd HH"; JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat); super.writeInternal(obj, outputMessage); } }
然后,將springMVC.xml(具體文件名以項目而定) 的配置修改為如下, 引用重寫了writeInternal()方法的類進行json序列化
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> --> <bean class="com.jjs.util.JsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json</value> </list> </property> <property name="features"> <list> <value>WriteDateUseDateFormat</value> <value>WriteMapNullValue</value> <value>QuoteFieldNames</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
記錄一下,方便查看
以上這篇springmvc fastjson 反序列化時間格式化方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。