文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

软工小能手

软工小能手

2024-04-17 23:03

关注

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-考试认证-考试信息-考试报考
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯