我的IDE通过Unhandled Exception com.fasterxml.jackson.databind.JsonMappingException
行
mapper.readValue
ObjectMapper mapper = new ObjectMapper();
try {
if (response.isEmpty()) {
//Http 204 (No Content) returned from MCC
//We should handle this differently
user = new User();
} else {
user = mapper.readValue(response, User.class);
}
} catch (IOException ioe) {
logger.log(Level.SEVERE, ioe.getLocalizedMessage());
}
return user;
我试过捕捉JsonMappingException
,但它没有让错误消失。有什么想法吗?
答案 0 :(得分:6)
当我只添加jackson-mapper-asl
jar时,我遇到了这个问题。当我添加jackson-core-asl
jar时,它起作用了。
杰克逊2也是如此。如果您只包含jackson-databind
,则会出现此错误。您还需要包含jackson-core
。
答案 1 :(得分:2)
JsonMappingException
扩展了IOException
,因此您的IDE遇到了一些更深层次的麻烦 - 也许图书馆的导入很混乱?
答案 2 :(得分:2)
我遇到了同样的问题,因为org.codehaus.jackson.map.JsonMappingException扩展了JsonProcessingException(不是任何直接的Throwable),并且包中缺少这个问题。在做了一些研究后,我直接下载了罐子(不是Maven)并手动将它们添加到classpatch中:
这3个软件包的组合解决了这个问题。
答案 3 :(得分:1)
我有同样的问题。似乎JsonMappingException
类继承的类不在JAR文件中。我刚刚恢复到没有问题的版本1.9。
答案 4 :(得分:1)
我有同样的问题,当我添加json-core时,它对我有效!
答案 5 :(得分:0)
你也尝试过这个吗?
user = mapper.readValue(response.getEntity(String.class),User.class);
PS:假设response
的类型为com.sun.jersey.api.client.ClientResponse
。
答案 6 :(得分:0)
添加jackson-core-asl.jar,它会起作用