首页 > 解决方案 > 如何使用 JsonFormat 装饰通用类型字段

问题描述

我有一个通用的表单字段类

public class FormField<T> {
   private T value;
   private boolean disabled;

   // setters getters are here
}

T可以是LocalTimeLocalDate

我想根据内容为 Jackon Json 提供正确的格式T。特别,

如果TLocalDate我希望它表现得像 @JsonFormat(... pattern = "MM/dd/yyyy")

如果TLocalTime我希望它被反序列化为pattern = "HH:mm:ss"

有没有办法我可以做到这一点?

标签: javajsonjackson

解决方案


您可以编写自定义可序列化类,您可以在其中为不同的对象类型定义不同的解析器,并将该类与上面的 T 泛型类型和下面的注释一起使用

@JsonSerialize(using=CustomSerializable.class)
private T value;

推荐阅读