zoukankan      html  css  js  c++  java
  • 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重写方法:

    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>  
    

      

  • 相关阅读:
    在X++中使用IoC/DI模式应对不断变化的客户需求
    Predicate<T>与Func<T, bool>泛型委托
    Windows Live Writer插件:在WLW中插入语法高亮代码
    学习C#和.NET的资源
    C#中事件的动态调用
    2008年全国软件工程大会论文集
    C#基础:接口(二)
    【转载】"变化"、"复用"、"抽象"、"稳定" 影响着软件设计模式,架构,开发方法
    【领域驱动设计】.NET实践:实体、值对象和数据传输对象
    RSS订阅之基本使用
  • 原文地址:https://www.cnblogs.com/xunianchong/p/7010062.html
Copyright © 2011-2022 走看看