当前位置:网站首页>利用JsonSerialize优雅的实现数据类型转换
利用JsonSerialize优雅的实现数据类型转换
2022-04-22 06:26:00 【小飞机爱旅游】
一、
需求简介:希望通过注解的方式,批量的将时间格式化为预期的格式。
JsonSerialize简介:com.fasterxml.jackson.databind.annotation包提供的序列化的注解
什么是序列化:
将一个对象编码成一个字节流(I/O);而与之相反的操作被称为反序列化。
序列化的目的是为了方便数据的传递以及存储到磁盘上(把一个Java对象写入到硬盘或者传输到网路上面的其它计算机,这时我们就需要将对象转换成字节流才能进行网络传输。对于这种通用的操作,就出现了序列化来统一这些格式)
二、实战
1、首先自定义一个类继承JsonSerializer去重写serialize方法,里面实现具体数据类型转换逻辑
@Slf4j
public class DataFormatSerializeer extends JsonSerializer<String> {
@Override
public void serialize(String dateStr, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException {
if (StringUtils.isNotBlank(dateStr)) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
Date date = null;
try {
date = dateFormat.parse(dateStr);
Timestamp time = new Timestamp(date.getTime());
jsonGenerator.writeString(DateUtils.convertSqlTimeStampToUtc(time, "UTC-4",
DateUtils.ISO8601_DATE_TIME_FORMAT));
} catch (ParseException e) {
log.error("date convert error");
}
} else {
jsonGenerator.writeString("");
}
}
}
2.应用
@JsonSerialize(using = DataFormatSerializeer.class)//这里引用我们自定义的类
private String date;
版权声明
本文为[小飞机爱旅游]所创,转载请带上原文链接,感谢
https://blog.csdn.net/lc15568886496/article/details/124190962
边栏推荐
猜你喜欢
随机推荐
PWA 我来了
获取当前dll或者exe路径
Unityjson file creation and reading
JS basic syntax
Problem A: 人脸识别
Unity遮罩 反向遮罩实现
charles的基本使用
Rt-thread [三] link.lds链接脚本详解
寻找3d地图上没有障碍物的点
CameraFlyControllerEditor
2021-08-31
JS - 精度问题
小程序 - canvas绘制海报
Problem C: 用链表实现约瑟夫环
ActiveX控件使用总结
动态库总结
【通信接口 - CAN总线】
QT动态翻译中英文语言
Use of method C
Use of C variable and precautions





![Rt-thread [三] link.lds链接脚本详解](/img/80/d62360d0a281b89dcfff61cb2f21ce.png)
![OOPC [一] C语言对象化](/img/dc/4a12d350dc9934df3eb79796e1aa82.png)


