Я впервые столкнулся с использованием ObjectMapper с String.class. Я попытался указать в качестве строки json, для которого получено исключение JsonMappingException. Не могли бы вы помочь понять, почему?
public static void main(String args[]) throws JsonParseException, JsonMappingException, IOException{
String response="{\"response\":\"success\"}";
ObjectMapper objectMapper = new ObjectMapper();
Object object = objectMapper.readValue(response, String.class);
System.out.println(object);
}
Ответ:
Исключение в теме "главная"
com.fasterxml.jackson.databind.JsonMappingException: не может
десериализовать экземпляр java.lang.String из токена START_OBJECT в
[Источник: {"response": "success"}; строка: 1, столбец: 1] в
com.fasterxml.jackson.databind.JsonMappingException.from (JsonMappingException.java:270)
в
com.fasterxml.jackson.databind.DeserializationContext.reportMappingException (DeserializationContext.java:1234)
в
com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken (DeserializationContext.java:1122)
в
com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken (DeserializationContext.java:1075)
в
com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize (StringDeserializer.java:60)
в
com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize (StringDeserializer.java:11)
в
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose (ObjectMapper.java:3814)
в
com.fasterxml.jackson.databind.ObjectMapper.readValue (ObjectMapper.java:2858)
В течение всего испытания, когда я передаю ответ как «успех», я получаю:
Исключение в теме "главная"
com.fasterxml.jackson.core.JsonParseException: нераспознанный токен
'success': ожидал ('true', 'false' или 'null')