问题
在日常开发中,当使用ObjectMapper进行解析json时,我们时常需要将json解析成我们指定泛型的集合类型Collection<type>
。
但是如果直接使用objectMapper.readValue(json, Collection.class)
的话,那么就会解析为Collection<Map>
的类型,这个明显不是我们想要的。
方案
在jackson内,如果要反序列化为Collection或者Map,我们可以使用
CollectionType construct = CollectionType.construct(LinkedList.class, SimpleType.construct(clazz));
MapType construct = MapType.construct(HashMap.class, SimpleType.construct(keyType), SimpleType.construct(valueType))
1 | package com.xiongyingqi.json; |