尝试获取JSON请求并处理它时出现以下错误:
org.codehaus.jackson.map.JsonMappingException:没有找到适合类型[简单类型,类com.myweb.ApplesDO]的合适构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?)
这是我尝试发送的JSON:
{
"applesDO" : [
{
"apple" : "Green Apple"
},
{
"apple" : "Red Apple"
}
]
}
在Controller中,我具有以下方法签名:
@RequestMapping("showApples.do")
public String getApples(@RequestBody final AllApplesDO applesRequest){
// Method Code
}
AllApplesDO是ApplesDO的包装:
public class AllApplesDO {
private List<ApplesDO> applesDO;
public List<ApplesDO> getApplesDO() {
return applesDO;
}
public void setApplesDO(List<ApplesDO> applesDO) {
this.applesDO = applesDO;
}
}
ApplesDO:
public class ApplesDO {
private String apple;
public String getApple() {
return apple;
}
public void setApple(String appl) {
this.apple = apple;
}
public ApplesDO(CustomType custom){
//constructor Code
}
}
我认为Jackson无法将JSON转换为子类的Java对象。请提供杰克逊将JSON转换为Java对象的配置参数的帮助。我正在使用Spring Framework。
编辑:在上面的示例类中包括导致此问题的主要错误-请查看已接受的答案以寻求解决方案。