jackson学习之一:基本信息

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 对jackson有个基本了解

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

系列文章汇总

  • jackson学习之一:基本信息
  • jackson学习之二:jackson-core
  • jackson学习之三:常用API操作
  • jackson学习之四:WRAP_ROOT_VALUE(root对象)
  • jackson学习之五:JsonInclude注解
  • jackson学习之六:常用类注解
  • jackson学习之七:常用Field注解
  • jackson学习之八:常用方法注解
  • jackson学习之九:springboot整合(配置文件)
  • jackson学习之十(终篇):springboot整合(配置类)

    关于jackson

    本文是《jackson学习》系列的第一篇,先来一起了解jackson:
  • jackson的github地址:https://github.com/FasterXML/jackson
  • 按照官网所述,jackson是java技术栈内最好的JSON解析工具(best JSON parser for Java);
  • 除了JSON解析,jackson还是个数据处理工具集:基于流的解析库和生成库、数据绑定、数据格式化模块(Avro、XML、Protobuf、YAML等);

    版本信息

  • jackson共有1.x和2.x两个版本系列,其中1.x已废弃不再有版本发布,2.x是活跃版本;
  • 1.x和2.x不兼容,如果您的代码已经使用了1.x,现在想改用2.x,您就必须修改使用jackson的那部分代码;
  • 虽然不兼容,但是1.x和2.x不冲突,您的项目可以在pom.xml中同时依赖这两个版本,假设您原有三处代码调用了1.x的API,现在可以把一处改成2.x的,另外两处维持不变,这个特性适合将项目逐步从1.x升级到2.x(This is by design and was chosen as the strategy to allow smoother migration from 1.x to 2.x.);
  • 2.x系列版本中,有的版本已关闭(除非bug或者安全问题才会发布新的小版本),有的版本还处于活跃状态,如下图,您可以在这个地址获取最新情况:https://github.com/FasterXML/jackson/wiki/Jackson-Releases
    在这里插入图片描述

    三个核心模块

    jackson有三个核心模块,如下,括号内是maven的artifactId:
  • Streaming(jackson-core):低阶API库,提供流式解析工具JsonParser,流式生成工具JsonGenerator;
  • Annotations(jackson-annotations):jackson注解;
  • Databind (jackson-databind):基于java对象的序列化、反序列化能力,需要前面两个模块的支持才能实现;

    低阶API库的作用

  • 当我们用jackson做JSON操作时,常用的是Databind模块的ObjectMapper类,对处于核心位置的jackson-core反倒是很少直接用到,那么该模块有什么作用呢?
  • 如下图,BeanSerializer是jackson-databind的功能类,其serialize方法负责将java对象转为JSON,方法中的处理逻辑就是调用JsonGenerator的API,而JsonGenerator就是jackson-core中负责序列化的主要功能类:
    在这里插入图片描述
  • 可见Databind模块的ObjectMapper类提供给我们的API,其底层操作是基于jackson-core实现的;
    至此,我们对jackson已有了基本了解,接下来的文章会开始一系列的实战,通过实战来掌握和理解这套优秀的工具;

欢迎关注阿里云开发者社区:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

相关文章
|
JSON 安全 Java
jackson学习之二:jackson-core
了解jackson最底层的功能逻辑
244 0
jackson学习之二:jackson-core
|
4月前
|
JSON JavaScript 前端开发
Jackson学习笔记
这篇文章是关于Jackson库的学习笔记,提供了Jackson工具包的下载方法,如何在IDEA中使用Maven导入Jackson依赖,以及如何在SpringMVC中使用Jackson进行JSON数据的转换和处理。
Jackson学习笔记
|
6月前
|
JSON 安全 Java
深入解析Jackson的ObjectMapper:核心功能与方法指南
深入解析Jackson的ObjectMapper:核心功能与方法指南
192 1
jackson反序列化器获取类型
jackson反序列化器获取类型
50 0
|
缓存 NoSQL Java
最详细 | redis实战:JackSon/FastJson方式序列化深度解析
Jackson2JsonRedisSerializer和FastJsonRedisSerializer的实战应用
3418 0
|
JSON 前端开发 Java
【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
441 0
|
JSON 前端开发 Java
Jackson,Fastjson详细教程
1.Jackson 导入Maven依赖:
332 0
Jackson,Fastjson详细教程
|
XML JSON Java
Jackson快速入门
Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。
1542 0
|
JSON 前端开发 Java
Jackson中那些你需要掌握的知识点
使用json进行数据交互可以说是非常常见的常见,在java侧,常用的json解析框架也不少,比如gson, fastjson以及spring mvc中默认使用的jackson;本文将主要介绍一下jackson的基本使用姿势,以及在日常开发中,你应该了解的知识点,比如常见的
651 0
Jackson中那些你需要掌握的知识点