后台返回json格式数据日期格式化

来源:互联网 发布:手机版荣誉勋章java 编辑:程序博客网 时间:2024/05/16 05:20
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;  
/** 
 *  解决Date类型返回json格式为自定义格式              spring开启注解时进行配置
 */  

public class CustomObjectMapper extends ObjectMapper {  
  
    public CustomObjectMapper(){  
        CustomSerializerFactory factory = new CustomSerializerFactory();  
        factory.addGenericMapping(Date.class, new JsonSerializer<Date>(){  
            @Override  
            public void serialize(Date value,   
                    JsonGenerator jsonGenerator,   
                    SerializerProvider provider)  
                    throws IOException, JsonProcessingException {  
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  //返回的格式自己定义  
                jsonGenerator.writeString(sdf.format(value));  
            }  
        });  
        this.setSerializerFactory(factory);  
    }  

}  



springmvc.xml文件配置如下:

<mvc:annotation-driven>
<mvc:message-converters>  

<!--  start 解决@ResponseBody 返回中文乱码 -->   
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">     
            <property name="supportedMediaTypes">     
                <list>     
                    <value>text/plain;charset=UTF-8</value><!-- 与显示字体有关 -->     
                    <value>text/html;charset=UTF-8</value>     
                </list>     
            </property>     
        </bean>      

<!-- end 解决@ResponseBoby返回中文乱码 -->


        <!--  解决Date类型返回json格式为自定义格式  -->
        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
                <property name="objectMapper" ref="customObjectMapper"></property>  
            </bean>
       </mvc:message-converters>
</mvc:annotation-driven>
<!-- 注入解决Date-->
<bean id="customObjectMapper" class="com.fh.tzjh.entity.CustomObjectMapper"></bean>