zoukankan      html  css  js  c++  java
  • springMVC返回json数据时date类型数据被转成long类型

    在项目的过程中肯定会遇到ajax请求,但是再用的过程中会发现,在数据库中好好的时间类型数据:2017-05-04 17:52:24 在转json的时候,得到的就不是时间格式了 而是145245121这样的long类型数据,但是如果你单独去请求该对象的该属性,得到的是正常的时间类型格式,后面查阅了一番,发现是SpringMvc框架在ajax请求转json的时候,会将date类型的数据转成long类型,解决的方法有如下几种:

    1. 在date类型属性上加注解:

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    1.  
      public Date getCreateDate() {
    2.  
      return createDate;
    3.  
      }
    4.  
       

    缺点:当系统中有多个date属性的时候 需要一个个的添加注解,很麻烦,后期修改也很不方便

    优点:可以自定义每个时间属性的时间格式

    2.springMVC配置文件配置统一返回格式:

    1.  
      <!-- 开启mvc注解 -->
    2.  
      <mvc:annotation-driven >
    3.  
      <!-- 处理responseBody 里面日期类型 -->
    4.  
      <mvc:message-converters>
    5.  
      <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    6.  
      <property name="objectMapper">
    7.  
      <bean class="com.fasterxml.jackson.databind.ObjectMapper">
    8.  
      <property name="dateFormat">
    9.  
      <bean class="java.text.SimpleDateFormat">
    10.  
      <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
    11.  
      </bean>
    12.  
      </property>
    13.  
      </bean>
    14.  
      </property>
    15.  
      </bean>
    16.  
      </mvc:message-converters>
    17.  
      </mvc:annotation-driven>

    缺点:系统中所有时间类型的属性的格式全部一样,不能自定义

    有点:可以减少配置,后期如果有改动,只需要修改一处即可

    方法1 2 都可以  根据自己项目的情况而定了!

  • 相关阅读:
    tomcat文件夹没有部署项目和Tomcat中webapps中没有运行项目-上传下载文件和图片
    eclipse和myeclipse设置默认编码格式为UTF-8
    mybatis基础学习1---(配置文件和sql语句)
    idea 快捷键以及包含字符串文件搜索
    idea 设置项目编码
    idea 取消代码下波浪线
    idea打开可选项目
    idea打印gc日志
    idea运行scala有问题
    idea简单使用
  • 原文地址:https://www.cnblogs.com/austinspark-jessylu/p/9604706.html
Copyright © 2011-2022 走看看