Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode

news/2025/3/26 20:40:28/

JSON数据的操作,系列文章:

《Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode》

《Jackson的使用与创建Jackson工具类》

《Jackson使用ObjectNode对象实现JSON对象数据(一):增、删、改、查》

《Jackson使用ArrayNode对象实现JSON列表数据(二):增、删、改、查》

《Jackson实现JSON数据的合并》

Jackson 不仅是一个基于 Java 语言的、开源的 JSON 解析库,也是 Spring Boot 默认使用的 JSON 解析库。为什么 Spring Boot 会默认使用 Jackson 呢?这是因为在 spring-boot-starter-web 依赖包中已经依赖了 Jackson 的依赖包(即:jackson-databind)。

在实际开发中,Jackson 功能丰富、安全可靠并且具有比较好的兼容性,这让程序开发人员可以很方便地实现 JavaBean 和以 “键 : 值” 结构保存的 JSON 数据的相互转换。

1、ObjectMapper 映射器类

Spring Boot 默认使用的 Jackson 具有两个常用类,它们分别是 JsonNode 节点类和 ObjectMapper 映射器类。下面将详细介绍这两个类的 API。

ObjectMapper 映射器类既可以把 JavaBean 映射成为 “键 : 值” 结构保存的 JSON 数据,也可以把以 “键 : 值” 结构保存的 JSON 数据封装成 JavaBean 对象。

因为 Spring Boot 在启动时会自动创建 ObjectMapper 类的 Bean 即可使用 ObjectMapper 类的常用 API。

【示例】在 Spring Boot 项目中,注入 ObjectMapper 类的 Bean 对象。

java">/*** 注入Jackson映射器*/
@Autowired
private ObjectMapper mapper;

ObjectMapper 类常用 API 及其说明:

返回值方法说明
TconvertValue(Object fromValue, Class<T> toValueType)将 Java 对象(如 POJO、List、Map、Set 等)解析成 JSON 节点对象。
JsonNodereadTree(byte[] content)将字节数组封装成 JSON 节点对象。
JsonNodereadTree(File file) 将本地 JSON 文件封装成 JSON 节点对象。
JsonNodereadTree(InputStream in)将字节输入流封装成 JSON 节点对象。
JsonNodereadTree(String content)将 JSON 字符串封装成 JSON 节点对象。
JsonNodereadTree(URL source)将 content 地址提供的 JSON 内容封装成 JSON 节点对象。
TreadValue(byte[] src, Class<T> valueType)将 JSON 类型的字符串的字节数组转换为 Java 对象。
TreadValue(File src, Class<T> valueType)将本地 JSON 内容的文件封装成 Java 对象。
TreadValue(InputStream src, Class<T> valueType)将字节输入流中的 JSON 内容封装成 Java 对象。
TreadValue(Reader src, Class<T> valueType)将字节输入流中的 JSON 内容封装成 Java 对象。
TreadValue(String content, Class<T> valueType)将 JSON 类型的字符串 content 封装成 Java 对象。
TreadValue(URL src, Class<T> valueType)将 src 地址提供的 JSON 内容封装成 Java 对象。
TtreeToValue(TreeNode var1, Class<T> valueType)将 JSON 树节点对象转换成为 Java 对象(如 POJO、List、Map、Set 等)。TreeNode 树节点是整个 JSON 节点对象模型的根接口。
voidwriteValue(File resultFile, Object value)将 Java 对象序列化并输出到指定文件中。
voidwriteValue(OutputStream out, Object value)将 Java 对象序列化并输出到指定字节输出流中。</

http://www.ppmy.cn/news/1582853.html

相关文章

VS代码生成工具ReSharper v2024.3——支持C# 13

ReSharper 是 Microsoft Visual Studio Marketplace上热门的扩展程序&#xff0c;您可以进行深度代码分析、智能代码协助、实时错误代码高亮显示、解决方案范围内代码分析、快速代码更正、一步完成代码格式化和清理、业界领先的自动代码重构、高级的集成单元测试方案&#xff0…

Vue 3 自定义指令:实现自动滚动效果

Vue 3 自定义指令&#xff1a;实现自动滚动效果的深度解析 在前端开发中&#xff0c;尤其是在使用 Vue 3 框架构建用户界面时&#xff0c;自定义指令为我们提供了一种强大且灵活的方式来扩展 HTML 元素的行为。今天&#xff0c;我们将深入探讨一个实用的 Vue 3 自定义指令——…

AI 生成 PPT 网站介绍与优缺点分析

随着人工智能技术不断发展&#xff0c;利用 AI 自动生成 PPT 已成为提高演示文稿制作效率的热门方式。本文将介绍几款主流的 AI PPT 工具&#xff0c;重点列出免费使用机会较多的网站&#xff0c;并对各平台的优缺点进行详细分析&#xff0c;帮助用户根据自身需求选择合适的工具…

Spring MVC 执行流程:一个请求在 Spring MVC 中是如何执行的?

当用户发送一个 HTTP 向 Spring MVC 应用&#xff0c;该请求在 Spring MVC 的执行流程如下&#xff1a; 当用户向 Spring MVC 发起一个 HTTP 请求&#xff0c;该请求会被 Dispatcher Servlet&#xff08;前端控制器&#xff09;拦截&#xff1b;DispatcherServlet 调用 Handler…

双核锁步技术在汽车芯片软错误防护中的应用详解

摘要 本文深入探讨了双核锁步技术在保障汽车芯片安全性中的应用。文章首先分析了国产车规芯片在高安全可靠领域面临的软错误难点及攻克方向&#xff0c;然后详细介绍了双核锁步技术的基本原理及其在汽车芯片防软错误的重要性。通过对比国内外多家厂商的芯片技术&#xff0c;分析…

【大模型】什么是循环神经网络(RNNs)

在人工智能&#xff08;AI&#xff09;的世界里&#xff0c;**循环神经网络&#xff08;Recurrent Neural Networks, RNNs&#xff09;**是一种非常强大的工具&#xff0c;特别适合处理序列数据。无论是语言、时间序列还是音乐&#xff0c;RNNs都能帮助我们理解和预测这些数据的…

【WAF 安全实践】

WAF 安全实践 一、WAF 对 HTTP 请求的检查1. 请求行&#xff08;Request Line&#xff09;2. 请求头&#xff08;Headers&#xff09;3. 请求参数&#xff08;Parameters&#xff09;4. 请求正文&#xff08;Body&#xff09;5. 其他请求特征 二、WAF 对 HTTP 响应的检查1. 敏感…

LInux mkcert 制作本地ssl证书,配置nginx 支持https

‌一、安装前准备‌ ‌安装依赖工具‌ # Ubuntu/Debian sudo apt install libnss3-tools wget # CentOS/RHEL sudo yum install nss-tools wget ‌二、安装方法选型‌ ‌方法 1&#xff1a;二进制直接安装&#xff08;推荐&#xff09;‌ # 下载最新版二进制文件&#xff…