gpt4 book ai didi

java - jackson 反序列化 JsonIdentityReference (alwaysAsId = true)

转载 作者:太空狗 更新时间:2023-10-29 22:47:25 27 4
gpt4 key购买 nike

跟进这个问题:Question here

@JsonIdentityReference(alwaysAsId = true)@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class) 从序列化端开始运行良好,但在反序列化时效果不佳,因为它无法解析对象 ID 引用。

有没有办法让它反序列化?编写自定义反序列化器似乎有点矫枉过正。

最佳答案

您可以使用简单的 setter 反序列化器来代替自定义反序列化器:

public class Container {
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
private Foo foo;

public Foo getFoo() {
return foo;
}
public Container setFoo(Foo foo) {
this.foo = foo;
return this;
}
@JsonProperty("foo")
public void setFoo(String id) {
foo = new Foo().setId(id);
}
}

{"foo":"id1"} 的示例字符串在 Jackson 2.5.2 中使用此方法正确序列化

关于java - jackson 反序列化 JsonIdentityReference (alwaysAsId = true),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306040/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com