标签:jackson
前言:
Jackson常用方法:
Jackson是处理一般的java对象和json之间的转换常用的两个方法是ObjectMapper类的writeValueAsString()和readValue()两个方法就可以实现。
但是,如果是要转成指定泛型的List集合,如List<User>.就需要先反序列化复杂类型为泛型
Collection Type;
举例说明:
如果是List<User>集合,那么使用ObjectMapper的getTypeFactory().constructParametricType(List.class, User.class);
如果是HashMap<String,User>集合,那么使用ObjectMapper的getTypeFactory().constructParametricType(HashMap.class,String.class,User .class);
代码实现:
public final ObjectMapper mapper = new ObjectMapper(); public static void main(String[] args) throws Exception{ JavaType javaType = getCollectionType(ArrayList.class, YourBean.class); List<YourBean> lst = (List<YourBean>)mapper.readValue(jsonString, javaType); } /** * 获取泛型的Collection Type * @param collectionClass 泛型的Collection * @param elementClasses 元素类 * @return JavaType Java类型 * @since 1.0 */ public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) { return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses); }
本文出自 “Simple Life” 博客,请务必保留此出处http://simplelife.blog.51cto.com/9954761/1704106
Jackson如何实现json字符串和泛型List集合之间的转换
标签:jackson
原文地址:http://simplelife.blog.51cto.com/9954761/1704106