文章更新时间:2023年9月7日 16:08
组件简介
维护者 | FasterXML组织 | 许可证类型 | Apache-2.0 |
首次发布 | 2012 年 2 月 19 日 | 最新发布时间 | 2023 年 5 月 31 日 |
GitHub Star | 3344 | GitHub Fork | 1324 |
依赖包 | 22,806 | 依赖存储库 | 244,221 |
Jackson 是一个非常流行的 Java 库,用于处理 JSON 数据的序列化和反序列化,它提供了一种简单而强大的方式来将 Java 对象与 JSON 数据之间进行转换。
官网:https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/index.html
官方仓库:https://github.com/FasterXML/jackson-databind
参考链接:
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
组件健康度
技术健康度 | 该组件是一个通用的数据绑定功能和树模型,基于流式API(核心)实现,使用Jackson注解进行配置。它支持多种数据格式,不仅仅是JSON。它还是一个功能性的OSGi bundle,具有合适的导入/导出声明,可以在OSGi容器上使用。从2.10版本开始,它还包含了module-info.class定义,因此它也是一个合适的Java模块(JPMS)。从2.12版本开始,它还包含了额外的Gradle 6模块元数据,用于与Gradle进行版本对齐。该组件的技术健康度较高,具有良好的设计和实现。 |
社区健康度 | 该组件是由FasterXML组织开发和维护的,该组织是一个专注于高性能数据处理的开源项目集合。该组件在GitHub上有超过7000个提交,27个分支,187个标签,3.3k个星标,1.3k个forks,以及1.4k个问题。该组件的社区健康度较高,具有活跃的开发者和用户。 |
更新和维护频率 | 该组件的最新版本是2.15.2,发布于2023年5月31日。该版本修复了一些bug和安全漏洞。该组件的更新和维护频率较高,能够及时响应用户反馈和需求。 |
兼容性 | 该组件的JDK要求如下:2.0 – 2.7版本需要JDK 62.8 – 2.12版本需要JDK 7运行(但2.11 – 2.12版本需要JDK 8构建)2.13及以上版本需要JDK 8Android SDK要求如下:2.13: Android SDK 24+2.14: Android SDK 26+该组件的兼容性较好,能够支持多种平台和环境。 |
文档和支持 | 该组件有详细的README文件和Wiki页面,介绍了其功能、用法、示例、配置、安全等方面的内容。该组件还有完整的Javadoc文档,提供了类、方法、字段、注解等的说明和链接。该组件的文档和支持较好,能够帮助用户理解和使用。 |
com.fasterxml.jackson.core:jackson-databind 该组件的健康度较高,是一个值得信赖和使用的数据处理工具。
参考链接:
https://github.com/FasterXML/jackson-databind
https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/index.html
https://github.com/FasterXML/jackson-databind/wiki
https://en.wikipedia.org/wiki/Android_version_history
组件许可证解读
Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:
- 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
- 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
- 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
- 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
- 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
- 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。
需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。
许可证原文链接:https://github.com/FasterXML/jackson-databind/blob/2.16/LICENSE
组件漏洞版本及修复方案
漏洞编号 | 漏洞标题 | 漏洞等级 | 影响版本 | 修复版本 |
MPS-z1bx-p8y2 | 【存在争议】FasterXML jackson-databind 代码问题漏洞 | 中危 | (-∞,2.15.2] | 暂无 |
MPS-2023-8438 | jackson-databind 拒绝服务漏洞 | 中危 | [2.10,2.12.6) | 2.12.6 |
MPS-2022-58653 | FasterXML jackson-databind 小于2.14.0-rc1拒绝服务漏洞 | 中危 | [2.0,2.14.0-rc1) | 2.14.0-rc1 |
同类型可替代组件
- GSON:这是一个由Google开发的用于Java对象和JSON之间的序列化和反序列化的库。它提供了简单的API,支持泛型和自定义类型适配器。它也可以与Android平台兼容。官网:https://www.gson.org/
- JSON.simple:这是一个用于编码和解码JSON文本的简单Java工具包。它提供了高效的数据结构,支持流式读写和事件驱动解析。它也可以与Android平台兼容。官方仓库:https://github.com/fangyidong/json-simple
- Moshi:这是一个由Square开发的用于Java对象和JSON之间的序列化和反序列化的库。它基于Okio库,提供了快速和低内存占用的IO操作。它支持注解、自定义适配器、泛型、枚举等特性。它也可以与Android平台兼容。官方仓库:https://github.com/square/moshi
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
com.fasterxml.jackson.core:jackson-annotations | 2.16.0-SNAPSHOT | 是 | maven |
com.fasterxml.jackson.core:jackson-core | 2.16.0-SNAPSHOT | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1699682360631099392/1699682361021169664?allow=1