文档章节

springboot mysql jackson date问题

与龙共舞
 与龙共舞
发布于 2016/07/10 18:28
字数 335
阅读 451
收藏 2

使用环境: springboot jackson mysql


如果数据库中配置的是datetime类型,使用@JsonFormat( pattern = "yyyy-MM-dd")  是没有问题的,但是有些时间不需要带时分秒,所以数据库中弄成了date,就因为这个jsonFormat就不起作用了,返回的前台的还是一大串,经过一翻搜索,最终找到一篇这样的文章:

https://github.com/spring-projects/spring-boot/issues/4065

跟这哥们遇到的问题一样,受这里面一段示例启发

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * @author HS
 * @date 2016年6月12日 下午3:59:24
 * @Description: TODO
 * 
 */
public class TestSvn {

	/**
	 * @author HS
	 * @date 2016年6月12日 下午3:59:24
	 * @Description: TODO
	 *
	 * @param args
	 * @throws JsonProcessingException
	 */
	public static void main(String[] args) throws JsonProcessingException {
		// TODO Auto-generated method stub

		ObjectMapper objectMapper = new ObjectMapper();
		System.out.println(objectMapper.writeValueAsString(new Foo(new java.util.Date())));
		System.out.println(objectMapper.writeValueAsString(new Foo(new java.sql.Date(System.currentTimeMillis()))));

	}

}
public class Foo implements java.io.Serializable {

	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
	private Date testDate;

	public Date getTestDate() {
		return testDate;
	}

	public void setTestDate(Date testDate) {
		this.testDate = testDate;
	}

	public Foo(Date testDate) {
		super();
		this.testDate = testDate;
	}
}

自己也敲了这段示例,最开始没加shape = JsonFormat.Shape.STRING,发现跟他输出的结果不一致,第二个输出变成了毫秒数,加上之后就好了,于是才联想到我这的问题

必须要使用如下形式:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")

完美解决数据库中是date类型 json转换的问题

© 著作权归作者所有

共有 人打赏支持
与龙共舞

与龙共舞

粉丝 9
博文 12
码字总数 2292
作品 0
海淀
技术主管
自定义jackson解析时间格式yyy-MM-dd HH:mm:ss

1、问题排查 出现的场景: 服务端通过springmvc写了一个对外的接口,返回一个json字符串,其中该json带有日期,格式为yyyy-MM-dd HH:mm:ss 客户端通过feign调用该http接口,指定返回值为一个...

落叶清风
08/08
0
0
Spring Boot学习笔记

文件上传与下载 springboot 上传文件到服务器 Spring Boot2.0连载(33)-- Spring Boot文件上传下载 SpringBoot项目的The temporary upload location ***is not valid 问题 /tmp/tomcat.8483...

OSC_fly
07/26
0
0
SpringBoot,返回JSON,Long前端精准度丢失,Jackson自定义序列化规则

已经很久没写过springboot的相关博客了,前面一段时间一直在写clojure,导致基本很少关注springboot的一些情况,刚好最近在写一些小玩意,期间,遇到一些问题,然后整理了一下,避免其他小伙伴跟我遇...

贺小五
04/15
0
0
SpringBoot-Plus 1.1.4 发布,后台管理系统

SpringBoot-Plus 1.1.4 发布了,改进内容包括: #IKPAY 使用springboot最新版本2.0.3 #IKP57 非admin用户查询的时候数据权限问题 #IKNRN 改成多数据源错误修复 #IKM9B 生成代码--功能点生成:...

闲大赋
06/27
0
0
springBoot 搭建web项目(前后端分离,附项目源代码地址)

概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端分离,利用ajax交互。 前端html 技术: + + + + 该项目git地址:https://github.com/jiangcaijun/sp...

开源小菜鸟2333
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flask 开发填坑

插件的选择: flask-security 真的是个鸡肋啊。自带的页面,好丑。还不如用flask-login来做呢。

pearma
38分钟前
2
0
讲述下 :LVM逻辑卷管理遇到的问题

LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) 由于是最小化安装没有xfs命令,yum安装如下包支持此...

linuxprobe16
今天
1
0
day95-20180922-英语流利阅读-待学习

Hey Jude 半个世纪传唱不衰的背后故事 毛西 2018-09-22 1.今日导读 2004 年,The Beatles 被《滚石》杂志选为“历史上最伟大的 50 位流行音乐家的第一位”。这四名来自英国利物浦的男孩不仅对...

飞鱼说编程
今天
2
0
OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
今天
270
10
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部