为了账号安全,请及时绑定邮箱和手机立即绑定

JsonMappingException:找不到适合类型[简单类型,类]的构造函数:

JsonMappingException:找不到适合类型[简单类型,类]的构造函数:

牧羊人nacy 2019-10-23 16:08:27
尝试获取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。编辑:在上面的示例类中包括导致此问题的主要错误-请查看已接受的答案以寻求解决方案。
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

发生这种情况的原因如下:


您的内部类应定义为静态


private static class Condition {  //jackson specific    

}

可能是您的类中没有默认的构造函数(更新:事实并非如此)


private static class Condition {

    private Long id;


    public Condition() {

    }


    // Setters and Getters

}

可能是您的设置员定义不正确或不可见(例如私人设置员)


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 524 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信