springmvc返回json数据时,日期数据显示为数字的解决方式

(1)@JsonFormat注解;

可以在get方法上,或属性上使用@JsonFormat(pattern="yyyy-MM-dd");而且指定对象以json传递时,显示的日期格式,优先级高于全局变量;即第一种和第二种方法如果同时存在,会以第一种的格式为准;

//指定对象以json格式传递时,显示的日期格式 ,优先级高于全局配置
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

(2)在springmvc的配置文件中做全局配置;

<!--设置返回json格式数据时,日期格式 ,当某些需要特殊处理,不按此方式来时,
      在get方法上,或属性上使用@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
            <bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" />
            <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">
                                <!-- 设置全局返回JSON到前端时日期格式化 -->
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
                            </bean>
                        </property>
                    </bean>
                </property>
            </bean>
            </list>
        </property>
    </bean>

相关推荐