分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

使用Jackson时转换JSON时,日期格式设置

发布时间:2023-09-06 02:32责任编辑:赖小花关键词:暂无标签

近日,使用Jackson转化JSON对象的时候,现: 显示的时候,日期始终显示不正确,输出的日期是一串数字代表的时间戳,不符合要求,所以想到Jackson应当有方法设置输出的日期格式。后来一查果然有两种方式来实

1.普通的方式:

默认是转成timestamps形式的,通过下面方式可以取消timestamps。

objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
 
 这样将使时间生成使用所谓的use a [ISO-8601 ]-compliant notation, 输出类似如下格式的时间: "1970-01-01T00:00:00.000+0000".

当然也可以自定义输出格式:

 
objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
 
myDateFormat对象为java.text.DateFormat,具体使用清查java API

2.annotaion的注释方式:

先定义自己需要的格式,例如:

Java代码

import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import org.codehaus.jackson.JsonGenerator;import org.codehaus.jackson.JsonProcessingException;import org.codehaus.jackson.map.JsonSerializer;import org.codehaus.jackson.map.SerializerProvider;/** * ?java日期对象经过Jackson库转换成JSON日期格式化自定义类 * @author yuruli * @date 2010-7-25 */public class CustomDateSerializer extends JsonSerializer { ???????@Override ???????public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { ???????????????SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ???????????????String formattedDate = formatter.format(value); ???????????????jgen.writeString(formattedDate); ???????}}

然后在你的POJO上找到日期的get方法

@JsonSerialize(using = CustomDateSerializer.class)public Date getCreateAt() { ????return createAt;}

好了,记录完毕

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

使用Jackson时转换JSON时,日期格式设置

原文地址:https://www.cnblogs.com/skinchqqhah/p/10351438.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved