【发布时间】:2018-07-11 14:18:58
【问题描述】:
如果我有一个 A 类型的 POJO 字段,我想将其序列化为 B 类型,我可以使用一对 Converters 轻松实现此目的:
@JsonSerialize(converter=ConvA2B.class)
@JsonDeserialize(converter=ConvB2A.class)
private A field;
但是,如果我希望所有 POJO 中该类型的所有字段都被这样对待怎么办?是否有全局转换器配置?
为了提供一些上下文,我正在尝试serialize java.time.LocalDateTime fields as unix timestamps,我发现一个可能的解决方案是使用自定义类型转换器将每个字段转换为java.time.Instant,例如:
public static class Conv extends StdConverter<LocalDateTime, Instant> {
@Override
public Instant convert(LocalDateTime value) {
return value.toInstant(ZoneOffset.UTC);
}
}
【问题讨论】:
-
我正在考虑使用自定义
AnnotationIntrospector。您找到其他解决方案了吗?