0

POJOをいくつかのJSONプレゼンテーションにマッピングする方法は?

私はジャクソンを使用しています。

以下のコードのようなものが欲しい

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

ジャクソンでそれを行う方法は?または他のどの図書館がそれを行うことができますか?

4

1 に答える 1

6

JSONビューを使用します

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);

これらは排他的ではなく包括的であることに注意してください。必要なフィールドを含むビューを作成します。

于 2013-02-08T14:55:29.680 に答える