Jackson解析json为指定泛型的集合
问题
在日常开发中,当使用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))
相关文章
scala根据Class获取单例(孤立)对象
开发中遇到的问题
在scala开发过程中,有需要使用Class获取scala单例(孤立)对象的需求,但是直接使用Class.newInstance()是无法获取单例对象的。
发现
google之后,在一篇博客:http://blog.csdn.net/zhangjg_blog/article/details/23376465 其中有一个例子:
1 | object Test { |
编译之后可以看到有两个class文件:
Test$.class
Test.class
也就是说, 这个孤立对象也被编译成一个同名类Test 。 除此之外, 还有一个叫做Test$的类, 这个以$结尾的类就是所谓的虚构类(synthetic class, 《Scala编程》中将之翻译为虚构类) 。
相关文章
解决springmvcjson循环依赖问题:Spring MVC中使用jackson的MixInAnnotations方法动态过滤JSON字段
springmvc中,默认使用jackson类返回java bean对象,但是如果存在回路时,会导致jackson输出循环。本文介绍如何通过自定义注解来定义过滤属性,web运行时如何通过AOP捕获Controller的ResponseBody注解的方法然后处理要过滤的属性。
相关文章
Windows使用bat脚本定时备份文件(夹)并删除一定日期之前的备份和日志
通过windows的bat功能实现对文件夹的拷贝,并根据文件夹的日期计算是否要删除该文件夹
励志的鸡蛋
励志的鸡蛋,很有哲学哦~
BPMN2.0之使用Event Base Gateway启动流程
业务流程建模标记法(BPMN, Business Process Modeling Notation)是工作流中特定业务流程的图形化表示法。它由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,该组织已于2005年与对象管理组织(OMG, Object Management Group)合并,从那时起,BPMN由OMG维护。BPMN当前版本为1.2,2009年1月发布,有重要修改的2.0版已经进入投票阶段。