在 Java 后端开发中,我们经常需要和前端、第三方服务打交道,而它们最常用的数据格式就是 JSON

那么问题来了:

Java 对象,如何优雅地转换成 JSON?

答案就是:ObjectMapper


一、ObjectMapper 是什么?

ObjectMapperJackson 提供的核心类,用来做两件事:

  • 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();

原因有三个:

  1. ObjectMapper 是线程安全的
  2. 避免频繁 new,提高性能
  3. 方便统一配置

这是业界的标准用法。


六、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
学习成本 极低
实用性 极高
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐