有没有办法将 Jackson 的 SerializationFeature 与注释一起使用

Is there a way to use Jackson's SerializationFeature with annotations

我正在尝试使用 SerializationConfig.Feature.WRITE_CHAR_ARRAYS_AS_JSON_ARRAYS,但我没有自己配置映射器,而是完全依赖注释并让 Spring 的 RestTemplate 自动(反)序列化。有没有办法在这种情况下启用上述功能(即仅注释)?

注意:我正在使用 Jackson 1.x,由于其他库无法升级...

是的,有可能。

检查此 link:http://jackson.codehaus.org/1.7.0/javadoc/org/codehaus/jackson/map/annotate/JsonSerialize.html

示例:

@JsonSerialize(using=MySerializer.class,
    as=MySubClass.class,
    include=JsonSerialize.Inclusion.NON_NULL,
    typing=JsonSerialize.Typing.STATIC
  )

使用 JAX-RS(如 DropWizard),您实际上可以使用 @JacksonFeatures

注释资源端点
public class Resource {
      @Path("item")
      @GET
      @JacksonFeatures(serializationEnable={ SerializationFeature.WRAP_ROOT_VALUE })
      public Pojo getItem(String id) {
          ...
      }
}

我不知道 Spring 是否公开了类似的功能,但似乎有可能。如果没有,他们应该能够添加以允许 SerializationFeatures / DeserializationFeatures 的每个端点 setting/clearing。因此,如果它不可用,也许可以为 Spring 项目提交功能请求?