• 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>  
    

      

  • 相关阅读:
    SpringBoot入门教程(十六)@Autowired、@Inject、@Resource
    SpringBoot入门教程(十五)集成Druid
    SpringBoot入门教程(十四)导出Excel
    SpringBoot入门教程(十三)CORS方式实现跨域
    SpringBoot入门教程(十二)DevTools热部署
    SpringBoot入门教程(十一)过滤器和拦截器
    1 谷歌book初始化配置-开启开发者模式
    47 VNC远程桌面
    46 温湿度传感器 dh11
    博士毕业要求
  • 原文地址:https://www.cnblogs.com/xunianchong/p/7010062.html
Copyright © 2020-2023  润新知