不可错过的Jackson入门必备教程

    作者:课课家教育更新于: 2016-09-08 15:17:31

    软考,您想通过吗?一次通过才是硬道理

      电脑二级公共基础的题目中也包含有jackson的内容,所以小编今天给大家找了一篇简单易懂的Jackson的入门教程,让大家简单了解一下什么是Jackson,帮助大家能够顺利的掌握这方面的知识.

      首先小编给大家简单介绍一下:Jackson就是一套java平台的数据处理工具集.它有两个主要分支,一个是:x处于维护状态,只会发布bug修复版本。还有一个是:x还在积极地开发当中。由于这两个版本的Java包名和Mavenartifact不一样,所以它们不互相兼容,但是可以和平共存,也就是项目可以同时依赖1.x和2.x而不会发生冲突,所以小编今天就只给大家简单介绍2.x版本的用法。

      下面我们主要了解一下:Jackson的主要模块

      首先我们先看一下核心模块

      其实核心模块就是扩展模块构建的基础,据统计,截止到2.7版本为止一共有3个核心模块,下面我们一起来看一下:

      第一个是:Streaming:jackson-corejar,定义了底层的streamingAPI和实现了Json特性。

      第二个是:Annotations:jackson-annotationsjar,包含了标准的Jackson注解。本文暂不介绍。

      第三个是:Databind:jackson-databindjar,实现了数据绑定和对象序列化,它依赖于streaming和annotations的包。

      接下来我们一起来了解一下:第三方数据类型模块

      这些扩展是用ObjectMapper.registerModule()注册的插件式的Jackson模块,一般来说通过添加serializers和deserializers以便Databind包(ObjectMapper/ObjectReader/ObjectWriter)就可以读写这些类型,以此来增加对各种常用的Java库的数据类型的支持。

      我们还需要了解的是:数据格式模块

      因为Jackson也有处理程序对JAX-RS标准实现者,例如Jersey,RESTeasy,CXF等提供了数据格式支持。处理程序实现了MessageBodyReader和MessageBodyWriter,据相关统计:目前支持的数据格式包括JSON,Smile,XML,YAML和CBOR。大家可以使用以上的这几个数据格式.

      关于数据格式的格式支持,其实它提供了除了Json之外的数据格式支持,因为绝大部分仅仅实现了streamingAPIabstractions,以便数据绑定组件可以按照原来的方式使用。另一些(几乎不需要)提供了databind标准功能来处理例如schemas。

      下面我们一起实践一下,首先做好准备工作

      关于准备工作,首先我们要了解:Jackson是包含了一个核心的jar包和其他两个依赖于核心jar包的jar包,三者的依赖关系是从上到下的,下面我们举个例子:

      JacksonCore

      JacksonAnnotations

      JacksonDatabind

    不可错过的Jackson入门必备教程_二级公共基础_Jackson入门_二级基础题目_课课家

      关于Json的处理:

      由于小编今天选择使用的是JDk7.0的版本。所以Jackson为我们提供了三种可选的Json处理方法:数据绑定(DataBinding),流式API(StreamingAPI)和树模型(TreeModel)。

      接下来我们了解一下什么是DataBinding:

      一般来说,我们主要都是使用ObjectMapper来操作Json,然而在默认情况下我们会使用BeanSerializer来序列化POJO。如果是解析,那么TestJson必须要有setters,如下图所示,同时,在这里setters必须是public修饰的,不然的话其属性的值将会为null。如果是生成的情况下就必须有getters,与此同时getters必须是public修饰的。假如属性不是private修饰的话,我们可以不用有getters和setters。关于这方面的详细内容大家可以参考访问修饰符的相关内容。

      关于Json解析

    关于Json解析

    输出

      了解Json生成

    了解Json生成

    Json生成

    Json生成举例

    什么是Json生成

    生成Json 

      对于StreamingAPI的详细介绍

      在Jackson中,它为我们提供了一套底层API来解析Json字符串,而这个API为每个Json对象提供了符号。下面我们来看一个例子:'{'是解析器提供的第一个对象(writeStartObject()),键值对是解析器提供的另一个单独对象(writeString(key,value))。不得不说,这些API都非常的强大,唯一不足的地方是他们需要大量的代码。但其实在很多的情况下,TreeModel和DataBinding可以代替StreamingAPI。

      Json解析举例分析

      Json解析举例分析

      关于Json生成

    关于Json生成

      选择TreeMode

      如果你不想为你的Json结构写一个class的话,TreeMode是一个很好的选择。

      下面我们来看一下:JSON生成

     JSON生成

      关于Json的解析

     关于Json的解析

      以上都是小编整理的关于jackson入门的基本用法,大家掌握得怎么样呢?其实这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合。希望本文对大家有所帮助!

课课家教育

未登录