分享web开发知识

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

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

关于@JsonSerialize注解的使用方法

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

我们做后端开发的有时候要返回给前端的数据格式不符合怎么办?

举个例子,比如一张表中的时间,数据库中存储的是yyy-mm-dd hh:mm:ss 这样的形式,而前段需要的是精确到秒的格式,那我们不可能直接把这种格式的数据直接返回给前端吧?!

直接返回回去会跟前端掐起来的。。。。那怎么办?从数据库查出来的时候去转换一下?。嗯可以,但是问题又来了,那我在A方法中查询要转换一下,B方法中要转换一下...

这样就会导致代码冗余。除了使用自定义工具类,还有一种方法更直接,那就是使用@JsonSerialize(com.fasterxml.jackson.databind.annotation.JsonSerialize)注解。

使用步骤:

1.在实体类中在要转换的字段上加上该注解,如下:

 ???/** 订单创建时间 */ ???@JsonSerialize(using = DateToLongSerializer.class) ???private Date createTiem;

2.并指定一个格式化的类。如下:

public class DateToLongSerializer extends JsonSerializer<Date> { ???@Override ???public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { ???????jsonGenerator.writeNumber(date.getTime() / 1000); ???}}

 数据存储在数据库中的格式:

转换后的效果(返回给前端的json格式):

再介绍一个注解:

@JsonIgnore 该注解的作用是转成json时不返回给前端

关于@JsonSerialize注解的使用方法

原文地址:https://www.cnblogs.com/-brl/p/10140180.html

知识推荐

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