Jackson - 高性能的 JSON 处理开源框架

更新日期:2020年08月31日 投稿作者:分类目录网 围观人数:16109
Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”。 
Jackson框架包含了3个核心库:streaming,databind,annotati***.Jackson还包含了其它数据处理类库,此外不作说明。

Jackson版本: 1.x (目前版本从1.1~1.9)与2.x。1.x与2.x从包的命名上可以看出来,1.x的类库中,包命名以:org.codehaus.jackson.xxx开头,而2.x类库中包命令:com.fastxml.jackson.xxx开头


1 Jackson概述

  • 序列化和反序列化json的Java开源框架
  • Spring MVC的默认json解析器

1.1 优点

  1. Jackson 所依赖的jar包较少,简单易用。
  2. 与其他 Java 的 json 的框架 Gson 等相比,Jackson 解析大的 json 文件速度比较快。
  3. Jackson 运行时占用内存比较低,性能比较好
  4. Jackson 有灵活的 API,可以很容易进行扩展和定制。

2 Jackson 2.x介绍

2.x 版本,包名变为 com.fasterxml.jackson

  1. 核心组件包括:jackson-annotati***、jackson-core、jackson-databind。
  2. 数据格式模块包括:Smile、CSV、XML、YAML等等
  3. jaxrs模块:JSON、XML等等

2.1 核心组件

<!--
        jackson-core 核心包,提供基于”流模式”解析的相关 API,它包括 JsonPaser 和 JsonGenerator。
        Jackson 内部实现正是通过- 高性能的流模式 API 的 JsonGenerator 和 JsonParser 来生成和解析 json。
        --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.8</version> </dependency> <!-- jackson-annotati*** 注解包,提供标准注解功能 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotati***</artifactId> <version>2.9.0</version> </dependency> <!--
        jackson-databind 数据绑定包,
        提供基于 ”对象绑定” 解析的相关 API( ObjectMapper )和 "树模型" 解析的相关 API(JsonNode);
        基于”对象绑定” 解析的API 和 ”树模型”解析的API 依赖基于”流模式”解析的 API。
        --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> </dependency> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

2.2 数据格式模块

<!-- dataformat模块 --> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-yaml</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-smile</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-cbor</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-csv</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-properties</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-avro</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-protobuf</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-ion</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformats-binary</artifactId> <version>2.9.8</version> <type>pom</type> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformats-text</artifactId> <version>2.9.8</version> <type>pom</type> </dependency> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

2.3 jaxrs模块

<dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-xml-provider</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-yaml-provider</artifactId> <version>2.9.8</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-smile-provider</artifactId> <version>2.9.8</version> </dependency> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

3 Jackson 1.x介绍

  • 1.x 版本的包名是 org.codehaus.jackson
  • 单个库下载:提供了core-asl、mapper-asl、core-lpgl、mapper-lgpl、jax-rs、jax-xc、mrbean、smile等JAR包下载。
  • Jackson ALL库:包含了上面所有的JAR包,打包成了单个JAR文件。
  • Jackson Mini库:包含了jackson-core库,排除了注释库、许可证文件、用于使用受限的环境,比如移动设备,JAR包的尺寸显著减少。
  • Smile Tool工具:一个命令行工具,用于在Smile格式和JSON格式之间相互转换。


声明:本站资源收集于网络,但不代表本站的观点和立场,具体内容可自行甄别,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

12个好用的BT种子搜索网站,你用过几个?

BT Kitty https://cnbtkitty.pw/ 专注于提供BT种子搜索和下载的网站,你可以在这里搜索和下载电影、剧集、音乐、图书、图片、综艺、软件、动漫、教程、游戏等资源,BT Kitty 可以说算得上一款BT种子搜索神器、下载利器。 BT Library https://btlibrary.xyz/ 索引了几千万千万BT种子,包括电影、剧

电脑怎么设置开机密码(电脑设置开机密码图文教程)

电脑怎么设置开机密码:   相信很多人都有不想给别人乱上自己的电脑的想法吧?电脑怎么设置开机密码呢?那么设置电脑开机密码是最好的办法了。如何设置开机密码?简单几步就能设置好咯!这里来演示一下XP系统和win7系统的开机密码设置方法。   除以上系统外,还将给大家带来windows10系统开机密码的设置方法

电脑没有声音怎么办?(电脑没有声音解决方法)

电脑没有声音怎么办?其实原因无非就2个,电脑硬件问题与软件问题。硬件问题主要是声卡坏了,或者输出声音接口损坏等,一般声卡硬件损坏很少,软件问题是比较常见的导致电脑没声音。那么如何判断是硬件问题还是软件问题呢?下面来分条详细说明。  一般处理电脑故障我们都是先软件后硬件的。如果您的电脑没有声音请尝试以下解决办法,一般是可以解决的. 电脑没有声音怎么办