使用 com.fasterxml.jackson.databind.ObjectMapper 类(com.fasterxml.jackson.core:jackson-databind:2.9.5) 我试图反序列化以下类的对象:
class MyClass {
String name;
MyClass(String name) {
this.name = name;
}
}
我目前正在执行的代码如下:
MyClass myClass = new MyClass("test");
objectMapper.registerModule(new ParameterNamesModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule())
.configure(FAIL_ON_UNKNOWN_PROPERTIES, false)
.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
String text = objectMapper.writeValueAsString(myClass);
objectMapper.readValue(text, MyClass.class);
在抛出异常的最后一行失败:
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造实例com.pckge.MyClass(尽管至少存在一个创建者):无法从 [Source: (String)"{" 处的对象值(无基于委托或基于属性的创建者)反序列化名称":"测试"}"; 行:1,列:2]
我的目标是配置对象映射器,以便在不使用 MyClass 构造函数上的 JsonCreator 或 JsonProperties 等注释的情况下成功反序列化对象:
这是可行的吗?
我缺少哪个配置?
非常感谢!
HUWWW
相关分类