Java Jackson-jr 库是干什么用的

Jackson-jr 是一个轻量级的Java JSON 处理库。这个库被设计用来替代 Jackson 的复杂性。对比 Jackson 的复杂 API,Jackson-jr 的启动速度更快,包大小更小。

虽然Jackson databind(如ObjectMapper)是通用数据绑定的良好选择,但它的占用空间(Jar包大小)和启动开销在某些领域可能存在问题:比如移动端,特别是对于轻量使用(读或写)。这种情况下,完整的Jackson API是让人接受不了的。

由于所有这些原因,Jackson 官方决定创建一个更简单、更小的库:Jackson-jr。它仍旧构建在 Streaming API 之上,但不依赖于 databind 和annotation。因此,它的大小(jar和运行时内存使用)要小得多,它的API非常紧凑,所以适合APP等移动端。

它仅仅只依赖了 jackson-core 模块,所以体积上控制得非常的好。Jackson 单单三大核心模块大小合计1700KB左右(320 + 70 + 1370)。而Jackson-jr的体积控制在了95KB(就算加上core模块的320也不到500KB)。

针对实际开发的情况,很多时候我们只需要对 JSON 数据进行读取和写入,至于一些过于复杂和强大的属性,我们可能也用不上,因此针对一些 JSON 数据使用场景比较单一的情况,Jackson-jr 就显得更有优势了。

所以,Jackson-jr 的主要情况就是在针对 JSON 格式的读写上面,如果你只需要简单的读和些,Jackson-jr 通常是你的一个选择。

性能

有关 JSON 处理数据的能力,Github 上有个项目进行了一些测试。

项目的地址为:GitHub - fabienrenaud/java-json-benchmark: Performance testing of serialization and deserialization of Java JSON libraries

根据项目测试的结果来看,Jackson 的处理能力是所有参加测试的包的性能最好的。

Jackson-jr 和 Jackson 是同一个社区的产品,因此性能上面完全不需要担心。

Java Jackson-jr 库是干什么用的 - Java - iSharkFly

相关推荐
萝卜白菜。几秒前
关于Java EE应用中xml解析类的问题
xml·java·java-ee
一米阳光zw6 分钟前
Spring Boot中使用 MDC实现请求TraceId全链路透传
java·spring boot·后端·traceid·mdc
王元_SmallA20 分钟前
pgsql:connection failed connection to server at
java·后端
高山上有一只小老虎25 分钟前
购物消费打折
java·算法
tuokuac29 分钟前
@Configuration类中定义的@Bean方法
java
百锦再1 小时前
第8章 模块系统
android·java·开发语言·python·ai·rust·go
没有bug.的程序员1 小时前
Eureka 注册中心原理与服务注册发现机制
java·spring·云原生·eureka·架构·注册中心·服务注册发现
optimistic_chen1 小时前
【Java EE进阶 --- SpringBoot】统一功能处理
java·spring boot·java-ee·json·统一功能处理
西岭千秋雪_1 小时前
Zookeeper数据结构
java·数据结构·分布式·zookeeper
青云交1 小时前
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证
java·随机森林·机器学习·lstm·压力测试·联邦学习·金融风险