Yes, to specify generic (parametric) types you need something else;
`List.class` would basically give `List<?>` which is about same as
`List<Object>`; and `Object` maps to "natural" type from JSON (Map for
JSON Objects).
But there are multiple ways to do what you want.
1. Use TypeReference to pass generic type
List<Person> list = mapper.readValue(input, new
TypeReference<List<Person>>() { });
2. Use Java arrays instead (array types are "native", not generic):
Person[] array = mapper.readValue(input, Person[].class);
3. Use convenience method in ObjectMapper:
List<Person> list = mapper.readerForListOf(Person.class).readValue(input);
Of these, (3) is not well-known as the method was added in Jackson 2.11.
Hope this helps,
-+ Tatu +-