如何将 POJO 映射到几个 JSON 表示 [英] How to map POJO to several JSON presentation
本文介绍了如何将 POJO 映射到几个 JSON 表示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将 POJO 映射到多个 JSON 表示?
How to map POJO to several JSON presentation?
我正在使用 Jackson.
我想要类似下面的代码
@JsonIgnorePropertiesStreamA({ "value2" })
@JsonIgnorePropertiesOtherWay({ "value3" })
public class Value {
public int value;
public int value2;
public int value3;
}
如何对杰克逊做到这一点?或者其他哪些图书馆可以做到这一点?
How to do that with Jackson? or What other libraries could do that?
推荐答案
您使用 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);
请注意,这些是包容性而不是排他性的;您创建一个包含所需字段的视图.
Note that these are inclusive rather than exclusive; you create a view that includes the fields you want.
这篇关于如何将 POJO 映射到几个 JSON 表示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文