1. 程式人生 > >Can not deserialize instance of java.util.HashMap out of VALUE_NUMBER_INT token

Can not deserialize instance of java.util.HashMap out of VALUE_NUMBER_INT token

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: [email protected]; 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("")