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>  
    

      

  • 相关阅读:
    Longest Common Subsequence
    D365: WHS APP开发(六)销售发货
    D365: WHS APP开发(五)库存调拨
    D365: WHS APP开发(四)完工入库
    D365: WHS APP开发(三)生产领料
    D365: WHS APP开发(二)采购入库
    D365: WHS APP(一)Mobile连接配置
    D365: Azure Blob Storage(三)文件处理
    D365: Azure Blob Storage(二)认证访问
    D365: Azure Blob Storage(一)创建Blob storage account
  • 原文地址:https://www.cnblogs.com/xunianchong/p/7010062.html
Copyright © 2011-2022 走看看