Jackson经过反射将Json转化为java对象

Jackson的功能比较强大,咱们这里主要使用Data Binding的方式,来看看如何使用反射将json转化为java bean,先加入以下依赖:java

Jackson 的核心模块由三部分组成。json

  • jackson-core,核心包,提供基于"流模式"解析的相关 API,它包括 JsonPaser 和 JsonGenerator。 Jackson 内部实现正是经过高性能的流模式 API 的 JsonGenerator 和 JsonParser 来生成和解析 json。
  • jackson-annotations,注解包,提供标准注解功能;
  • jackson-databind ,数据绑定包, 提供基于"对象绑定" 解析的相关 API ( ObjectMapper ) 和"树模型" 解析的相关 API (JsonNode);基于"对象绑定" 解析的 API 和"树模型"解析的 API 依赖基于"流模式"解析的 API。

而后咱们就能够写个demo看看:app

输出:性能

入参都是相似的,传入json字符串和须要转化为的class,而后看看里面的方法是怎么处理的,以前还有不少预处理的方法,直接跳过吧,主要看看里面的解析的。先用createUsingDefault(DeserializationContext ctxt)返回一个使用默认构造方法建立的对象。.net

这里对于json的处理都放在JsonParser中,这里获取相应的类中的变量,而后使用deserializeAndSet方法设置值,如今以为反射真是一个好东西呀,否则都很差处理,尤为是不知道都是什么类对象的状况,固然这里只是简单类对象的状况,复杂的后续再看看。对象

这里最后调用的_setter.invoke(instance, value)来设置变量值。blog

后续还会有一些检查,未完待续!字符串

参考:http://www.javashuo.com/article/p-xulepded-ko.htmlget

相关文章
相关标签/搜索