diff --git a/src/main/java/com/fasterxml/jackson/module/mrbean/AbstractTypeMaterializer.java b/src/main/java/com/fasterxml/jackson/module/mrbean/AbstractTypeMaterializer.java index 48c5d7e..ea013f0 100644 --- a/src/main/java/com/fasterxml/jackson/module/mrbean/AbstractTypeMaterializer.java +++ b/src/main/java/com/fasterxml/jackson/module/mrbean/AbstractTypeMaterializer.java @@ -180,7 +180,9 @@ public JavaType resolveAbstractType(DeserializationConfig config, JavaType type) /* We won't be handling any container types (Collections, Maps and arrays), * Throwables or enums. */ - if (type.isContainerType() || type.isPrimitive() || type.isEnumType() || type.isThrowable()) { + if (type.isContainerType() || type.isPrimitive() || type.isEnumType() || type.isThrowable() || + type.getRawClass() == Number.class) + { return null; } Class cls = type.getRawClass(); diff --git a/src/test/java/com/fasterxml/jackson/module/mrbean/TestMapStringObjectDeserialization.java b/src/test/java/com/fasterxml/jackson/module/mrbean/TestMapStringObjectDeserialization.java new file mode 100644 index 0000000..a78f256 --- /dev/null +++ b/src/test/java/com/fasterxml/jackson/module/mrbean/TestMapStringObjectDeserialization.java @@ -0,0 +1,42 @@ +package com.fasterxml.jackson.module.mrbean; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class TestMapStringObjectDeserialization + extends BaseTest +{ + + /** + * Test simple Map deserialization works. + */ + public void testMapWithMrbean() throws Exception + { + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new MrBeanModule()); + + runTest(mapper); + } + + /** + * Test simple Map deserialization works. + */ + public void testMapWithoutMrbean() throws Exception + { + ObjectMapper mapper = new ObjectMapper(); + + runTest(mapper); + } + + void runTest(ObjectMapper mapper) throws IOException, JsonParseException, JsonMappingException + { + Map map = mapper.readValue("{\"test\":3 }", new TypeReference>() {}); + assertEquals(Collections.singletonMap("test", 3), map); + } +}