有没有办法使用带有注释的Jackson的SerializationFeature

时间:2015-05-28 16:49:49

标签: json spring jackson resttemplate

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

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

2 个答案:

答案 0 :(得分:2)

是的,这是可能的。

结帐此链接: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
  )

答案 1 :(得分:2)

使用JAX-RS(如DropWizard),您可以使用@JacksonFeatures实际注释资源端点

public class Resource {
      @Path("item")
      @GET
      @JacksonFeatures(serializationEnable={ SerializationFeature.WRAP_ROOT_VALUE })
      public Pojo getItem(String id) {
          ...
      }
}

我不知道Spring是否公开了类似的功能,但似乎有可能。如果没有,那么他们应该能够添加以允许每个端点设置/清除SerializationFeature s / DeserializationFeature s。因此,如果它不可用,可能会提交Spring项目的功能请求吗?