Ответ 1
JsonMappingException
extends IOException
, поэтому ваша среда IDE имеет некоторые более глубокие проблемы - возможно, импорт библиотеки запутан?
Моя 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
, но это не заставило ошибку уйти. Любые мысли?
JsonMappingException
extends IOException
, поэтому ваша среда IDE имеет некоторые более глубокие проблемы - возможно, импорт библиотеки запутан?
У меня возникла эта проблема, когда я только добавил jackson-mapper-asl
jar. Когда я добавил jackson-core-asl
jar, он работал.
Это справедливо и для Jackson 2. Эта ошибка возникает, если вы включили только jackson-databind
. Вы должны включить jackson-core
.
У меня была такая же проблема. Кажется, класс, унаследованный классом JsonMappingException
, не находится в файле JAR. Я просто вернулся к версии 1.9, у которой не было проблемы.
У меня была та же проблема, когда я добавил json-core, это сработало для меня!
У меня была такая же проблема, потому что org.codehaus.jackson.map.JsonMappingException расширяет исключение JsonProcessingException (а не Throwable напрямую), и этого не хватает в пакете. После некоторых исследований я загрузил jars напрямую (не с Maven) и вручную добавил их в classpatch:
Комбинация этих 3 пакетов решает эту проблему.
Вы тоже это пробовали?
user = mapper.readValue(response.getEntity(String.class),User.class);
PS: Предполагая, response
имеет тип com.sun.jersey.api.client.ClientResponse
.