为了账号安全,请及时绑定邮箱和手机立即绑定

使用 jackson,当 ebean 对象是另一个对象的一部分时,如何仅序列化该对象的某些属性

使用 jackson,当 ebean 对象是另一个对象的一部分时,如何仅序列化该对象的某些属性

慕容3067478 2021-08-19 18:24:18
我有一个 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 对象。
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以使用@JsonIgnoreProperties. 注释通常用于类级别,但它也适用于字段。当应用于字段时,它用于忽略带注释的字段内的属性:


@JsonIgnoreProperties({"colour", "size"})

public B someB;


查看完整回答
反对 回复 2021-08-19
  • 1 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信