【发布时间】:2014-09-25 22:05:06
【问题描述】:
我遇到了麻烦,这是我想用 Jackson 2.3.2 序列化/反序列化的类。 序列化工作正常,但反序列化不行。
我有如下异常:
没有找到适合类型[简单类型,类系列]的构造函数:无法从 JSON 对象实例化(需要添加/启用类型信息?)
最奇怪的是,如果我评论构造函数,它会完美运行!
public class Series {
private int init;
private String key;
private String color;
public Series(String key, String color, int init) {
this.key = key;
this.init = init;
this.color = color;
}
//Getters-Setters
}
还有我的单元测试:
public class SeriesMapperTest {
private String json = "{\"init\":1,\"key\":\"min\",\"color\":\"767\"}";
private ObjectMapper mapper = new ObjectMapper();
@Test
public void deserialize() {
try {
Series series = mapper.readValue(json, Series.class);
} catch (IOException e) {
Assert.fail(e.getMessage());
}
}
}
此异常是从 Jackson lib 的 BeanDeserializerBase 的方法 deserializeFromObjectUsingNonDefault() 引发的。
有什么想法吗?
谢谢
【问题讨论】: