Can not deserialize instance of java.util.HashMap out of VALUE_NUMBER_INT token
异常信息
- 测试环境一直提示上述异常
- 本地模拟
public class testzhu {
public static void main(String[] args) {
String attributes = ",订单金额:13630.00|订单已取消" ;
Map<String, Integer> jsonMap = JsonUtil.jsonStrToMap(attributes);
Integer orderId = jsonMap.get("orderId");
System.out.println(orderId);
}
}
ERROR [main][] com.util.JsonUtil[72] - 反序列化序列化attributes,从Json到HashMap报错
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.HashMap out of VALUE_NUMBER_INT token
at [Source: java.io.StringReader@313da8bc; line: 1, column: 1]
at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:219) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:212) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:246) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:33) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863) ~[jackson-mapper-asl-1.9.13.jar:1.9.13]
at com.util.JsonUtil.jsonStrToMap(JsonUtil.java:70) ~[classes/:na]
at test.testzhu.main(testzhu.java:62) [test-classes/:na]
null
Disconnected from the target VM, address: ‘127.0.0.1:50747’, transport: ‘socket’
Stirng --> JSON 时,如果预支String包含某个KEY值,预先判断,避免转换异常
str.contains("")