我有一个 API,我可以调用它来获取一些 Json 对象。假设我有两种对象:A和B。
一个A对象有一个B当中它的实例变量的对象。当我调用我的 API 来获取时someB,我想要以下结果:
{
id: 234,
name: theBName,
colour: theBColour,
size: 123
}
但是当我调用我的 API 来获取时someA,我想要以下结果:
{
id: 456,
type: someAType,
b: {
id: 234,
name: theBName
}
}
如您所见,B在第二种情况下,我的对象只有部分属性。
我已经找到了如何使用jsonViews. 我还知道如何id通过添加以下内容将对象序列化为仅当作为另一个对象的一部分序列化时:
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
public B someB;
到我的A对象。
但是对于我的一生,我无法弄清楚如何将这个B对象序列化为它的id 和我选择的其他属性,当且仅当它被序列化为A对象的一部分时。
我正在寻找类似这样的注释:
@serialiazeUsingOnlyProperties({"property1", "property2"})
public B someB;
放入我的 A 对象。
互换的青春
相关分类