下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

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

作者:课课家教育     来源: http://www.kokojia.com点击数:1288发布时间: 2016-09-10 08:06:48

标签: 二级公共基础Jackson入门二级基础题目

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

  电脑二级公共基础的题目中也包含有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入门的基本用法,大家掌握得怎么样呢?其实这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方法结合。希望本文对大家有所帮助!

赞(0)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程