Gson for Java: 完整指南与示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Gson,为什么需要它?



Gson 是 Google 开发的一个强大的 Java 语言库,它可以将 Java 对象转换为其 JSON 表示形式(序列化),反之,也可以从 JSON 字符串恢复 Java 对象(反序列化)。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于 Web API、配置文件以及存储结构化数据。



为什么使用 Gson?在现代 Java 应用程序开发中,几乎没有哪个项目能离开 JSON 处理。无论是与 REST API 通信、读取配置,还是在微服务之间交换数据——Gson 都提供了一种简单、快速且可靠的转换方式。与标准 Java 库(org.json)不同,Gson 可以直接处理任意 Java 对象(POJO),自动将类的字段与 JSON 的键进行匹配。这使开发者免于手动解析和编写样板代码。



安装 Gson



Gson 是一个 Java 库,因此通过 JVM 的依赖管理系统分发。以下是针对最流行构建工具的安装方法。



Maven

将以下依赖添加到您的 pom.xml 文件中:

<dependency>    <groupId>com.google.code.gson</groupId>    <artifactId>gson</artifactId>    <version>2.10.1</version> <!-- 请在 Maven Central 上查看最新版本 --></dependency>


Gradle

添加到 build.gradle 文件中:

implementation 'com.google.code.gson:gson:2.10.1'


直接下载 JAR

如果您不使用构建系统,请从 Maven Central 下载 JAR 文件,并将其添加到项目的 classpath 中。



重要提示: 与 Python(pip)或 Node.js(npm)不同,Java 没有统一的包管理器。Maven 和 Gradle 是事实上的标准。



快速入门:第一个示例



让我们创建一个简单的 Person 类,将其序列化为 JSON,然后再反序列化回来。



import com.google.gson.Gson;

public class QuickStart { public static void main(String[] args) { // 1. 创建对象 Person person = new Person("伊万", 30, "ivan@example.com");

// 2. 创建 Gson 实例 Gson gson = new Gson();

// 3. 序列化 (Java -> JSON) String json = gson.toJson(person); System.out.println("JSON: " + json); // 输出: JSON: {"name":"伊万","age":30,"email":"ivan@example.com"}

// 4. 反序列化 (JSON -> Java) String jsonInput = "{\\"name\\":\\"玛丽亚\\",\\"age\\":25,\\"email\\":\\"maria@test.com\\"}"; Person personFromJson = gson.fromJson(jsonInput, Person.class); System.out.println("姓名: " + personFromJson.getName()); // 输出: 姓名: 玛丽亚 }}

class Person { private String name; private int age; private String email;

// 反序列化必须要有默认构造函数(无参)! public Person() {}

public Person(String name, int age, String email) { this.name = name; this.age = age; this.email = email; }

public String getName() { return name; } public int getAge() { return age; } public String getEmail() { return email; }}


Gson 的主要方法和功能



以下是 Gson 库的关键方法。每个方法都附有描述和可运行的示例。



1. Gson.toJson(Object src)

功能: 将传入的 Java 对象序列化为 JSON 字符串。这是将对象转换为 JSON 的最基本方法。

推荐