[英]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.