SpringMVC返回Json,自定义Json中Date类型格式
SpringMVC返回Json数据依赖jackson这个开源的第三方类库。
若不加任何说明情况下Date类型将以时间戳的形式转换为Json并返回。
jackson提供了一些自定义格式的方法。我们只需继承它的抽象类JsonSerializer<T> ,并在指定的属性方法上添加注解@JsonSerialize即可实现。
1.编写Date转换类(yyyy-MM-dd)
public class CustomDateSerializer extends JsonSerializer<Date> { public void serialize(Date date, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException { SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd" ); String formattedDate = format.format(date); gen.writeString(formattedDate); } } |
2.javabean中对应属性的get()方法添加注解
package com.easyui.model; import java.util.Date; import org.codehaus.jackson.map.annotate.JsonSerialize; import org.springframework.format.annotation.DateTimeFormat; import com.easyui.utils.CustomDateSerializer; public class User { private Integer id; private String username; private String password; private String realname; private String sex; private Date birthday; public int getId() { return id; } public void setId(Integer id) { this .id = id; } public String getUsername() { return username; } public void setUsername(String username) { this .username = username; } public String getPassword() { return password; } public void setPassword(String password) { this .password = password; } public String getRealname() { return realname; } public void setRealname(String realname) { this .realname = realname; } public String getSex() { return sex; } public void setSex(String sex) { this .sex = sex; } @JsonSerialize (using=CustomDateSerializer. class ) public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this .birthday = birthday; } } |
至此,就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd 的格式
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)