Jackson mixin注释包含某些属性并排除其他所有内容

时间:2013-01-30 15:20:15

标签: json cxf jackson

我有一个第三方域对象,我希望使用Jackson序列化为JSON。通过公共getter可以访问很多属性,但我只对这些属性中的一小部分感兴趣。由于这是第三方对象,我选择了mixin路线。但是,除了在mixin界面上定义的内容之外,我找不到从原始类中排除所有内容的好方法。我试图在mixin类上指定@JsonIgnoreProperties,但它很快就会失控,需要忽略大量属性。任何解决方法?

提前致谢!

编辑:添加一些代码

public class SpecialObject {
private String name;
private Integer id;
public String getName() {
    return name;
}
public Integer getId() {
    return id;
}
public String getFoo() {
    return "foo";
}
}

public interface SpecialObjectMixin {
    @JsonProperty
    String getName();
}

我希望我只会在序列化的JSON中获得名称。顺便说一句,我正在使用这个来通过cxf-jaxrs与杰克逊作为提供者进行休息。

1 个答案:

答案 0 :(得分:13)

想出办法

@JsonAutoDetect(getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE)
public interface SpecialObjectMixin {

    @JsonProperty
    String getName();
}