SpringBoot开发——使用ObjectMapper处理JSON数据

news/2025/1/18 15:18:28/

文章目录

  • 1. 基本对象到JSON的转换
  • 2. 基本JSON到对象的转换
  • 3. 使用注解自定义JSON字段名称
  • 4. 序列化时忽略字段
  • 5. 处理未知的JSON字段
  • 6. 将对象列表转换为JSON
  • 7. 在Spring Boot控制器中使用ObjectMapper
  • 8. 将JSON文件转换为对象
  • 9. 美化打印JSON输出
  • 10. 自定义ObjectMapper配置

本文将探讨如何在 Spring Boot应用程序中使用 ObjectMapperJava对象转换为 JSON,以及将 JSON转换回 Java对象。它涵盖了关键用例,例如 自定义JSON字段名称、处理未知属性、处理列表,以及为特殊场景(如日期格式和美化打印)配置 ObjectMapper

ObjectMapper是Spring Boot中的一个关键组件,用于将Java对象序列化为JSON,并将JSON反序列化为Java对象。以下是一些常见的ObjectMapper用例及代码示例:

1. 基本对象到JSON的转换

此用例涉及将Java对象转换为JSON

import com.fasterxml.jackson.databind.ObjectMapper;public class ObjectToJsonExample {public static void main(String[] args) throws Exception {ObjectMapper objectMapper = new ObjectMapper();Employee employee = new Employee(1, "John", "Developer");// 将对象转换为JSONString jsonString = objectMapper.writeValueAsString(employee);System.out.println(jsonString);}
}

2. 基本JSON到对象的转换

此用例演示了将JSON字符串反序列化为Java对象

import com.fasterxml.jackson.databind.ObjectMapper;public class JsonToObjectExample {public static void main(String[] args) throws Exception {String jsonString = "{\"id\":1,\"name\":\"John\",\"designation\":\"Developer\"}";ObjectMapper objectMapper = new ObjectMapper();// 将JSON字符串转换为Java对象Employee employee = objectMapper.readValue(jsonString, Employee.class);System.out.println(employee.getName());  // 输出: John}
}

3. 使用注解自定义JSON字段名称

在某些情况下,Java对象中的字段名称可能与JSON中的字段名称不匹配。使用@JsonProperty来处理此问题。

import <

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

相关文章

【C++】构造函数与析构函数

写在前面 构造函数与析构函数都是属于类的默认成员函数&#xff01; 默认成员函数是程序猿不显示声明定义&#xff0c;编译器会中生成。 构造函数和析构函数的知识需要建立在有初步类与对象的基础之上的&#xff0c;关于类与对象不才在前面笔记中有详细的介绍&#xff1a;点我…

深入了解卷积神经网络(CNN):图像处理与深度学习的革命性技术

深入了解卷积神经网络&#xff08;CNN&#xff09;&#xff1a;图像处理与深度学习的革命性技术 导语 卷积神经网络&#xff08;CNN&#xff09;是现代深度学习领域中最重要的模型之一&#xff0c;特别在计算机视觉&#xff08;CV&#xff09;领域具有革命性的影响。无论是图…

MySQL8数据库全攻略:版本特性、下载、安装、卸载与管理工具详解

大家好&#xff0c;我是袁庭新。 MySQL作为企业项目中的主流数据库&#xff0c;其5.x和8.x版本尤为常用。本文将详细介绍MySQL 8.x的特性、下载、安装、服务管理、卸载及管理工具&#xff0c;旨在帮助用户更好地掌握和使用MySQL数据库。 1.MySQL版本及下载 企业项目中使用的…

ubuntu20.04的虚拟机突然打不开terminal了

遇到的问题&#xff1a; 突然开机很慢&#xff0c;终端一直转圈&#xff0c;但是打不开&#xff0c;重启也没用。 解决办法&#xff1a; 打开的shell来寻找错误&#xff0c;用CtrlAltF4进入命令行模式&#xff08;虚拟机用f4&#xff0c;独立系统就用F1&#xff09; 登录账…

算法-求两个数组的交集

力扣题目&#xff1a;349. 两个数组的交集 - 力扣&#xff08;LeetCode&#xff09; 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,…

Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider

开发语言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 价格区间界面 用户信息界面 品牌管理 笔记本管理 电脑主机…

Ruby语言的数据库编程

Ruby语言的数据库编程 引言 在现代软件开发中&#xff0c;数据库几乎是每个应用程序的重要组成部分。无论是简单的Web应用还是复杂的企业系统&#xff0c;数据存储和管理都是不可或缺的环节。Ruby是一种动态、面向对象的编程语言&#xff0c;因其优雅的语法和丰富的库支持而受…

SQL在线格式化 - 加菲工具

SQL在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql&#xff0c;点击上方的格式化按钮即可 输入框得到格式化后的sql结果