jackson @ResponseBody 处理日期类型的字段
前言:以前只知道一种方式(@JsonFormat)来处理日期格式问题,今天才发现还有两种方式,并且可以全局设置格式,这里记录一下。
首先,pom.xml 中需要先引入如下 jackson 的依赖:
<!--支持@ResponseBody 返回json-->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
下面则是遇到日期类型(java.util.Date)类型时做日期格式转换:
方式一、@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
在实体类上的字段上加这个注解即可。
比较方便,也比较独立,不过每个 date 类型的字段都要加,也挺繁琐的。
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
方式二、spring-mvc.xml 中全局设置日期格式(使用内置的日期格式化工具),并且可以同时使用 @JsonFormat 来设置特定的日期格式,@JsonFormat 优先级高于 spring-mvc.xml 中的设置
spring-mvc.xml 中的配置:
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
<!--支持@ResponseBody 返回json-->
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="prettyPrint" value="true"/>
<!-- 兼容ie -->
<property name="supportedMediaTypes">
<list>
<value>application/json</value>
<value>text/json</value>
</list>
</property> <!--是全局设置json响应的日期格式,但此方法可以和@JsonFormat共存,也就是说可以全局设置一个格式,特定的需求可以使用注解设置。-->
<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>
参考 blog:https://www.cnblogs.com/woshimrf/p/5189435.html
jackson @ResponseBody 处理日期类型的字段的更多相关文章
- ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null
		ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null. 
- Spring MVC__自定义日期类型转换器
		WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查 ... 
- springMVC注解@initbinder日期类型的属性自动转换
		在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能. 一 ... 
- Mybatis 向MySql数据库插入带有日期类型字段的数据
		我们的实体类里面一个字段的日期类型是util.Date,在向数据库插入该实体时会报错,说是 日期哪个字段 Data truncation.所以需要做些更改在mybatis的MAPPER映射文件中对插入 ... 
- 【java】jackson 中JsonFormat date类型字段的使用
		为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM- ... 
- jackson 中JsonFormat date类型字段的使用
		为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM- ... 
- MySQL 日期类型及默认设置  (除timestamp类型外,系统不支持其它时间类型字段设置默认值)
		MySQL 日期类型及默认设置 之前在用 MySQL 新建 table,创建日期类型列时遇到了一些问题,现在整理下来以供参考. MySQL 的日期类型如何设置当前时间为其默认值? 答:请使用 time ... 
- springmvc 1.接受日期类型的参数 2.后台返回json串的格式处理(返回json串null值处理为"")
		springmvc中的配置: <bean id="dateConvert" class="com.iomp.util.DateConvert"/> ... 
- springboot 日期类型处理
		1. 日期类型输出参数处理 默认日期格式只支持:2017-07-01T10:10:01 修改为2017-07-01 10:10:01 只需要修改配置文件即可: spring: jackson: dat ... 
随机推荐
- Mac OS 10.12 - 如何能够像在Windows一样切换中英文输入法和大小写键?
			最开始,我切换中英文输入法和大小写键是按照下面博客做到的: http://www.cnblogs.com/sunylat/p/6415563.html 但是当我安装完毕搜狗输入法后,切换中英文输入法和 ... 
- leetcode 123. 买卖股票的最佳时机 III JAVA
			题目: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意: 你不能同时参与多笔交易(你必须在再次购买前出 ... 
- jzoj2941
			我們可以暴力枚舉每一個人分幾個糖果,再暴力統計答案即可 每次遞歸下去可以從1-n號人,決定選多少個糖果再遞歸 #include<bits/stdc++.h> using namespace ... 
- 五,mysql优化——sql语句优化小技巧
			1,大批量插入数据 (1)对于MyISAM: alter table table_name disable keys; loading data; alter table table_name ena ... 
- 操作实践题 - HTML 列表综合应用
			通过对列表的综合应用,编写如下效果网页: 解答: <html> <head> <title>操作实践题</title> <meta http-eq ... 
- 前端ajax传数据成功发送,但后端接收不到
			前几天遇到这样的问题,找了好久,是在ajax contentType属性设置的问题. contentType默认是application/x-www-form-urlencoded 但是 ... 
- CSS3的三大特性
			在学习CSS 的时候,我们必须要熟练和理解CSS 的三大特性,那么CSS 的三大特性又是什么呢? CSS 的三大特性:层叠 继承 优先级 ,CSS 三大特性是我们学习CSS 必须掌握的三个特性. 首 ... 
- yolov3源码分析keras(一)数据的处理
			一.前言 本次分析的源码为大佬复现的keras版本,上一波地址:https://github.com/qqwweee/keras-yolo3 初步打算重点分析两部分,第一部分为数据,即分析图像如何做等 ... 
- Mac 下安装node.js(转载)
			原文地址:http://blog.csdn.net/u011619283/article/details/52368759 Node.js 简介 Node.js 是一个用Chrome's V8 Jav ... 
- EF 数据库连接约定(Connection String Conventions in Code First)
			一个典型的EF应用大多数情况下是一个DbContext的派生类(derived class)来控制,通常可以使用该派生类调用DbContext的构造函数,来控制以下的东西: (1).上下文如何连接到数 ... 
