繁体   English   中英

Android Jackson Mapping异常

[英]Android Jackson Mapping exception

我正在调用API,因此我能够获得Json响应。 在这个json我有一个参数, 例如 manufacturer ,我希望有一个类型为Manufacturer的对象(我的自定义类),但有一段时间我从相同的命名参数获取String到API,由于这个,我能够得到以下异常:

com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.response.Manufacturer] from String value ('59438a9f2e4ab8c26656fcfd'); no single-String constructor/factory.

我得到的Api响应是:

{"manufacturer" : "59438a9f2e4ab8c26656fcfd"}

有时这种反应就像

{"manufacturer" : {"name":"Manufacturer Name"}}

我的制造商类就像

class Manufacturer {
 @JsonProperty("name")
 private String name;
  // getter and setter for this with @JsonProperty("name");
 }

我已经搜索了很多谷歌,但无法找到任何解决方案。 请帮帮我。

您可以在Manufacturer中放置一个带有String参数的构造函数,当Jackson在JSON中看到字符串字段时必须使用它,并且必须在Java类中创建Manufacturer字段:

class Manufacturer {
    Manufacturer(String id) {
        this.name = // initialize as you see fit
    }

    Manufacturer() {} // compiler no longer creates this

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM