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

10 浏览
0 Comments

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

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

public class Person {
    @JsonCreator
    public Person(@JsonProperty("name") String name,
                  @JsonProperty("age") int age) {
        // ... 同时具有姓名和年龄的人
    }
    
    @JsonCreator
    public Person(@JsonProperty("name") String name) {
        // ... 只有姓名的人
    }
}

当我尝试这样做时,我得到以下错误信息:

存在冲突的基于属性的构造函数:已经存在 ... {interface org.codehaus.jackson.annotate.JsonCreator @org.codehaus.jackson.annotate.JsonCreator()}],遇到 ... ,注解:{interface org.codehaus.jackson.annotate.JsonCreator @org.codehaus.jackson.annotate.JsonCreator()}]

有没有办法使用Jackson反序列化具有重载构造函数的类?

谢谢。

0