标签:
默认情况下,jackson转换的json日期
时间的毫秒数完全没法看,要显示2015-08-25 18:20:55这样的格式有两种修改方式:
1、用JS代码格式化这个json数据
2、在jackson转换时处理
显然第二种方法更方便。两步即可完成
首先在spring配置文件中修改配置
<!-- 注册json转换器,并自定义日期格式转换-->
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper">
<bean class="com.ywlaker.tools.ToolJacksonDateFormat"></bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
然后实现com.ywlaker.tools.ToolJacksonDateFormat这个类
package com.ywlaker.tools;
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.ObjectMapper;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.map.ser.CustomSerializerFactory;
/**
* @功能描述:jackson转json时格式化日期显示,全局设置
* @author yang.wei
* @time 2015年8月18日 下午2:43:14
* @version 0.0.1
*/
public class ToolJacksonDateFormat extends ObjectMapper {
public ToolJacksonDateFormat() {
CustomSerializerFactory factory = new CustomSerializerFactory();
factory.addGenericMapping(Date.class, new JsonSerializer<Date>(){
@Override
public void serialize(Date date, JsonGenerator jsonGenerator,
SerializerProvider arg2) throws IOException,
JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonGenerator.writeString(sdf.format(date));
}});
this.setSerializerFactory(factory);
}
}
以后所有日期转换成json时都会被处理了
标签:
原文地址:http://www.cnblogs.com/ywlaker/p/4760017.html