java - 如何使用 JsonFormat 装饰通用类型字段
问题描述
我有一个通用的表单字段类
public class FormField<T> {
private T value;
private boolean disabled;
// setters getters are here
}
T
可以是LocalTime
或LocalDate
。
我想根据内容为 Jackon Json 提供正确的格式T
。特别,
如果T
是LocalDate
我希望它表现得像
@JsonFormat(... pattern = "MM/dd/yyyy")
如果T
是LocalTime
我希望它被反序列化为pattern = "HH:mm:ss"
有没有办法我可以做到这一点?
解决方案
您可以编写自定义可序列化类,您可以在其中为不同的对象类型定义不同的解析器,并将该类与上面的 T 泛型类型和下面的注释一起使用
@JsonSerialize(using=CustomSerializable.class)
private T value;
推荐阅读
- vb.net - 使用配置文件指定连接字符串以在单元测试中为数据驱动测试 CSV 定义数据源
- ios - 我们可以在后台调用 api 进行静默通知吗?
- python - 如何根据python中其他列的条件将字符串列拆分为另一个列?
- d3.js - 如何在d3版本3中将散点图转换为折线图
- json - 将元素添加到 json 字符串(数组)FLUTTER
- shell - 如何访问用 sudo su EOF 块包围的 IF 条件内声明的变量
- r - 在我将转发推文抓取并保存到 *.csv 后,如何删除它们,以及如何删除重复的推文?
- ios - 将视图控制器推送到另一个视图控制器时如何处理 UIParallaxDimmingView?
- python - How to delete only first line from text file if somecodition is met with Python
- bash - How to pass file name into gpg commmand?