【发布时间】:2019-02-08 09:44:40
【问题描述】:
我第一次遇到将 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);
}
回复:
线程“main”中的异常 com.fasterxml.jackson.databind.JsonMappingException:不能 从 START_OBJECT 令牌中反序列化 java.lang.String 的实例 [来源:{“响应”:“成功”};行: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)
当我将响应传递为“成功”时,我得到了:
线程“main”中的异常 com.fasterxml.jackson.core.JsonParseException:无法识别的令牌 “成功”:期待(“真”、“假”或“空”)
【问题讨论】: