小编典典

如何使用JsonCreator使用重载的构造函数反序列化类

json

我正在尝试使用Jackson 1.9.10反序列化此类的实例:

public class Person {

@JsonCreator
public Person(@JsonProperty("name") String name,
        @JsonProperty("age") int age) {
    // ... person with both name and age
}

@JsonCreator
public Person(@JsonProperty("name") String name) {
    // ... person with just a name
}
}

当我尝试这个我得到以下

冲突的基于属性的创建者:已经有… {界面org.codehaus.jackson.annotate.JsonCreator @
org.codehaus.jackson.annotate.JsonCreator()}],遇到了…,注释:{接口org.codehaus。
jackson.annotate.JsonCreator @ org.codehaus.jackson.annotate.JsonCreator()}]

有没有办法使用Jackson重载带有重载的构造函数的类?

谢谢


阅读 397

收藏
2020-07-27

共1个答案

小编典典

尽管没有正确记录,但是每种类型只能有一个创建者。您可以在类型中具有任意数量的构造函数,但是只有其中一个应该在其@JsonCreator上具有注释。

2020-07-27