如何将POJO映射到几个JSON演示文稿

时间:2013-02-08 14:37:56

标签: java json jackson

如何将POJO映射到多个JSON演示文稿?

我正在使用Jackson

我想要下面的代码

@JsonIgnorePropertiesStreamA({ "value2" })
@JsonIgnorePropertiesOtherWay({ "value3" })
public class Value {
  public int value;
  public int value2;
  public int value3;
}

杰克逊怎么做?或者其他哪些图书馆可以做到这一点?

1 个答案:

答案 0 :(得分:7)

您使用JSON Views

class Views {
    static class PublicView { }
    static class StreamA extends PublicView { }
    static class OtherWay extends PublicView { }
}

public class Value {
    @JsonView(Views.PublicView.class) public int value;
    @JsonView(Views.OtherWay.class) public int value2;
    @JsonView(Views.StreamA.class) public int value3;
}


String json = new ObjectMapper()
              .writerWithView(Views.OtherWay.class)
              .writeValueAsString(valueInstance);

请注意,这些包含而非排他性;您创建一个包含所需字段的视图。