如何将 POJO 映射到几个 JSON 表示?
我正在使用杰克逊。
我想要下面的代码
@JsonIgnorePropertiesStreamA({ "value2" })
@JsonIgnorePropertiesOtherWay({ "value3" })
public class Value {
public int value;
public int value2;
public int value3;
}
杰克逊如何做到这一点?或者还有哪些其他图书馆可以做到这一点?
您使用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);
请注意,这些是包容性而非排他性的;您创建一个包含所需字段的视图。