我有一个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
对象。
但是对于我一生来说,我无法弄清楚如何{@ 1}对象作为其B
AND 我选择的其他属性来序列化,并且只有何时将其序列化为id
对象的一部分。
我正在寻找类似这样的注释:
A
放入我的A对象。
答案 0 :(得分:0)
您可以使用@JsonIgnoreProperties
。注释通常在类级别使用,但它也适用于字段。应用于字段时,它用于忽略带注释的字段内的属性:
@JsonIgnoreProperties({"colour", "size"})
public B someB;