Java 中 ObjectMapper用法(一个简单 Demo 讲清楚)
在 Java 后端开发中,我们经常需要和前端、第三方服务打交道,而它们最常用的数据格式就是JSON
那么问题来了:
Java 对象,如何优雅地转换成 JSON?
答案就是:ObjectMapper。
一、ObjectMapper 是什么?
ObjectMapper 是 Jackson 提供的核心类,用来做两件事:
- Java 对象 → JSON 字符串
- JSON 字符串 → Java 对象
一句话总结:
ObjectMapper = Java 世界和 JSON 世界之间的翻译官
二、一个最简单的使用场景
假设我们要发送这样一段 JSON:
{
"name": "张三",
"age": 18,
"skills": ["Java", "Spring"]
}在 Java 中,数据通常是这样写的:
Map<String, Object> user = new HashMap<>();
user.put("name", "张三");
user.put("age", 18);
user.put("skills", Arrays.asList("Java", "Spring"));
那如何把它变成 JSON 呢?
三、简单 Demo:Java 对象转 JSON
1️⃣ 示例代码
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.*;
public class ObjectMapperDemo {
public static void main(String[] args) throws Exception {
// 1. 创建 ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
// 2. 构造 Java 对象
Map<String, Object> user = new HashMap<>();
user.put("name", "张三");
user.put("age", 18);
user.put("skills", Arrays.asList("Java", "Spring"));
// 3. Java 对象 → JSON 字符串
String json = objectMapper.writeValueAsString(user);
// 4. 输出结果
System.out.println(json);
}
}2️⃣ 运行结果

是不是很简单?
四、ObjectMapper 到底帮我们做了什么?
这一行代码是核心:
objectMapper.writeValueAsString(user);
它自动帮你完成了:
Map→ JSON 对象List→ JSON 数组String / int→ JSON 基本类型- 自动处理中文(UTF-8)
完全不需要你手写 JSON 字符串。
五、为什么很多项目把 ObjectMapper 定义成 static?
你经常会在项目中看到:
static ObjectMapper OBJECT_MAPPER = new ObjectMapper();
原因有三个:
- ObjectMapper 是线程安全的
- 避免频繁 new,提高性能
- 方便统一配置
这是业界的标准用法。
六、JSON 转回 Java 对象
1️⃣ 示例代码
String json = "{\"name\":\"张三\",\"age\":18}";
ObjectMapper objectMapper = new ObjectMapper();
// JSON → Java Map
Map<String, Object> result =
objectMapper.readValue(json, Map.class);
System.out.println(result.get("name")); // 张三
System.out.println(result.get("age")); // 18
七、如果不用 ObjectMapper 会怎样?
你只能手动拼 JSON:
String json = "{ \"name\": \"" + name + "\", \"age\": " + age + " }";
❌ 问题很多:
- 容易拼错格式
- 不支持复杂结构
- 维护成本极高
👉 实际项目中强烈不推荐
八、总结
ObjectMapper 核心要点
| 点 | 说明 |
|---|---|
| 是什么 | Java ↔ JSON 转换工具 |
| 用途 | 代替手写 JSON |
| 学习成本 | 极低 |
| 实用性 | 极高 |
到此这篇关于Java 中 ObjectMapper用法(一个简单 Demo 讲清楚)的文章就介绍到这了,更多相关java objectmapper使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java代码优化实现Zip压缩大文件从30秒到近乎1秒的优化过程
本文详细介绍了一种使用Java进行文件压缩的优化过程,从最初的无缓冲压缩到使用缓冲区,再到利用NIO的Channel和内存映射文件技术,最终实现压缩速度的显著提升,感兴趣的可以了解一下2025-09-09
在Spring Boot中使用Spark Streaming进行实时数据处理和流式计算的步骤
这篇文章主要介绍了在Spring Boot中使用Spark Streaming进行实时数据处理和流式计算,通过本文的介绍,我们了解了在Spring Boot中使用Spark Streaming进行实时数据处理和流式计算的详细步骤,需要的朋友可以参考下2024-03-03
spring security中Authority、Role的区别及说明
这篇文章主要介绍了spring security中Authority、Role的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09


最新评论