Jackson如何实现json字符串和泛型List集合之间的转换
2015-10-19 10:12
701 查看
前言:
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);
代码实现:
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); }
相关文章推荐
- Java下利用Jackson进行JSON解析和序列化示例
- Jackson的用法实例分析
- Jackson 转json 时日期格式化,排除字段,包含字段
- 通用json解析,根据json层级关系直接使用: 基节点.子节点.孙节点.x.x
- 使用jacksonjava对象转换成标准的json格式,便于与easyui...
- Jackson介绍篇之filter
- json key没有引号
- Spring4 MVC json问题(406 Not Acceptable)
- Spring MVC Jackson DateFormat
- jackson简单用法总结
- 升级Spring MVC 4.1.3.Final遇到接口返回406 (Not Acceptable)的问题
- springmvc+jackson不返回null值
- Jackson 转化String 为Date类型
- [json]fasterxml.jackson常用资料
- 调用Jackson一行解析海量复杂结构的json数据
- Android JackSon (Json工具) 简单使用封装
- jackson的一个异常
- 关于springMVC转换json出现的异常
- Google Translate And Json Parsing - Google翻译与Json解析
- 用Jackson将Java对象转换成 JSON字符串