我的目标是避免创建同一个对象两次。我想要反序列化包含相同子对象的两个对象的数组,这是我想要反序列化的 JSON 对象
[
{
@id: 98,
relatedPackage: {@id:99, receivedOn:1374012807237, packingTypeFk:1,…}
},
{
@id: 101,
relatedPackage: {@id:99, receivedOn:1374012807237, packingTypeFk:1,…}
}
]
这是 POJO
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@id")
public class Package extends StampedModel {
...
}
在最后的代码中,您可以看到我添加了注释 @JsonIdentityInfo 来实现我的目标,但它并没有完成任务。我总是将此数组发送到服务器,它会创建两个不同的包。
我做错了什么?
最佳答案
为了解决这个问题,我只需要发送第一个相关的包裹一次,而下一次只发送ID号。即。
[
{
@id: 98,
relatedPackage: {@id:99, receivedOn:1374012807237, packingTypeFk:1,…}
},
{
@id: 101,
relatedPackage: 99
}
]
关于java - 使用 Jackson 反序列化包含 2 个具有相同子对象的对象的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688504/