我使用的是杰克逊库JSON映射到对象。 我已经简化了问题很多 ,这是发生了什么:
public class MyObject{
public ForeignCollection<MySecondObject> getA(){
return null;
}
public ForeignCollection<MyThirdObject> getB(){
return null;
}
}
我解析了一个空的JSON字符串:
ObjectMapper mapper = new ObjectMapper();
mapper.readValue("{}", MyObject.class);
在readValue
,我得到这个异常:
com.fasterxml.jackson.databind.JsonMappingException: Can not find a deserializer for non-concrete Collection type [collection type; class com.j256.ormlite.dao.ForeignCollection, contains [simple type, class com.test.MyThirdObject]]
发生这种情况时,我有两个 get
的方法MyObject
类返回ForeignCollection
。 卸下的一个get
中没有例外方法的结果。
实际上,我的事实,映射器着眼于惊讶get
方法,它应该只是设置我表示的字段。
这是怎么回事吗?