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")
public Date getCreateDate() {
		return createDate;
	}
缺点:当系统中有多个date属性的时候 需要一个个的添加注解,很麻烦,后期修改也很不方便

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


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

 <!-- 开启mvc注解 -->  
    <mvc:annotation-driven >
    	<!-- 处理responseBody 里面日期类型 -->  
        <mvc:message-converters>  
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
                <property name="objectMapper">  
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">  
                        <property name="dateFormat">  
                            <bean class="java.text.SimpleDateFormat">  
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />  
                            </bean>  
                        </property>  
                    </bean>  
                </property>  
            </bean>  
        </mvc:message-converters>  
    </mvc:annotation-driven>
缺点:系统中所有时间类型的属性的格式全部一样,不能自定义

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


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


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值