13

我有一个第三方域对象,我希望使用 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 使用它来进行宁静的呼叫,杰克逊作为提供者。

4

1 回答 1

16

想出了一个办法

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

    @JsonProperty
    String getName();
}
于 2013-01-30T16:03:50.217 回答