Jackson 时间格式化输入输出
来源:互联网 发布:辅助数据库已初始化 编辑:程序博客网 时间:2024/06/05 10:02
前提:
在使用SpringMVC,使用@RestController或者@ResponseBody时,springMVC会将返回的数据转换为JSON数据,遇到Timestamp时,就会默认转换为毫秒数,不方便阅读。接受数据时,也只能接受毫秒数或者“yyyy-MM-dd”格式的数据,不能接收“yyyy-MM-dd HH:mm:ss”格式的数据,但是我们使用做多的格式还是“yyyy-MM-dd HH:mm:ss”,所以我们就要解决这个两个问题。
解决默认转换毫秒数为自定义格式:
方法一:
使用@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
在返回对象的getXXX方法上,出来的时间就是我们习惯的 "yyyy-MM-dd HH:mm:ss"格式的时间了,
注意:需要加timezone时区,不然就和我们的时间有8小时的出入
方法二:
使用@JsonSerialize(using = JsonDateSerializer.class)在返回对象的getXXX方法上。
其中JsonDateSerializer要继承JsonSerializer,并实现方法serialize(),如下:
public class JsonDateSerializer extends JsonSerializer<Date>{@Overridepublic void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)throws IOException, JsonProcessingException { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(value); jgen.writeString(formattedDate); }}解决获取JSON数据时接收自定义的时间格式:
根据上面的解决方法,同理可以尝试,在setXXX 方法上面加上注解。
经过测试@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"),可以成功。
阅读全文
0 0
- Jackson 时间格式化输入输出
- Jackson格式化时间
- 在SpringMVC中使用Jackson并格式化时间
- jackson中JsonFormat格式化时间少8小时
- 基于jackson注释@JsonFormat 格式化时间少8小时
- 基于jackson注释@JsonFormat 格式化时间少8小时
- 格式化输入输出
- 格式化输入输出
- 格式化输入输出
- 格式化输入输出
- 格式化输入输出
- 格式化输入输出
- 格式化输入输出
- 使用 jackson序列格式化日期
- 使用 jackson序列格式化日期
- jackson时间格式处理
- jackson转换时间
- c++格式化输入输出
- 561. Array Partition I
- Java中==和equal有什么区别
- 《人性的弱点》第二章 获取喜爱的十二大技巧:读后感
- 任务分解
- android app跳转到微信
- Jackson 时间格式化输入输出
- 人脸识别之端到端框架(六)--SphereFace
- Angular: Can’t bind to ‘ngModel’ since it isn’t a known property of ‘input’
- opencv分水岭分割算法C++是
- 功耗问题研究
- 记忆碎片
- MVP实现二级购物车
- windows查看端口使用进程
- 经典算法之直接选择排序