How to get the Generic type for the Jackson ObjectMapper
jackson, java, type-erasure
Solution
Have you tried the mappers constructType method?
Type genericType = User.class.getField("listProp").getGenericType();
List<Long> correctList = om.readValue(jsonEntry.getValue(), om.constructType(genericType));
Problem
Java erases normally the `Generics` data on compilation, but there is a possibility to get that information (the Jackson `ObjectMapper` does that pretty well). My Problem: I have a Class with a property of List: ``` public class User { public List<Long> listProp;//it is public only to keep the example simple } ``` How can I get the correct `TypeReference` (or `JavaType` ?) so that I can map programatically a JSON String to the correct List Type, having the instance of the `Class` class (User.class) and the property name (listProp)? What I mean is this: ``` TypeReference typeReference = ...;//how to get the typeReference? List<Long> correctList = om.readValue(jsonEntry.getValue(), typeReference);//this should return a List<Long> and not eg. a List<Integer> ```