作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
跟进这个问题: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/
跟进这个问题:Question here @JsonIdentityReference(alwaysAsId = true) 和@JsonIdentityInfo(generator = Object
我是一名优秀的程序员,十分优秀!