0

使用杰克逊默认编写器时,如下所示:

 protected static String getAsJson(Class clazz, Object object) throws IOException {
    ObjectWriter ow = objectMapper.writerWithType(clazz);
    return ow.writeValueAsString(object);

如下注释被忽略:

@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate")
private LocalDate date;

如何手动实现与 springs 一起使用的默认 jackson 序列化@Responsebody(与注释一起正常工作)?

4

1 回答 1

1

Jackson 只识别它知道的注释:我猜在你的例子中,@JsonSerialize并且@JsonDeserialize是 Jackson 注释(来自 Jackson 数据绑定包),但@Type有所不同(可能由 Spring MVC 提供)。这意味着其他东西将使用该注释(Spring)。

可以扩展JacksonAnnotationIntrospector以识别其他注释类型,因此这可能是您可以做的事情。有一种方法可以处理查找可以覆盖的显式类型覆盖。

于 2013-08-27T19:08:11.663 回答