原文: https://howtodoinjava.com/gson/gson-serialize-deserialize-json/

了解如何使用 Google GSON 库将 Java 对象序列化为其 JSON 表示,并将 JSON 字符串反序列化为等效的 Java 对象。 GSON 提供了简单的toJson()fromJson()方法,将 Java 对象转换为 JSON,反之亦然。

使用GsonBuilder创建具有自定义配置的Gson对象,例如精美打印

  1. //Gson gson = new Gson();
  2. Gson gson = new GsonBuilder().setPrettyPrinting().create();
  3. Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");
  4. String jsonString = gson.toJson(emp);
  5. Employee empObject = gson.fromJson(jsonString, Employee.class);

1.依赖

Maven 依赖项。 访问 maven 仓库以获取最新版本。

  1. <dependency>
  2. <groupId>com.google.code.gson</groupId>
  3. <artifactId>gson</artifactId>
  4. <version>2.8.5</version>
  5. </dependency>

Gradle 依赖项。

  1. <dependency>
  2. dependencies {
  3. implementation 'com.google.code.gson:gson:2.8.5'
  4. }

2.序列化 – 使用 Gson 编写 JSON

在 Gson 上下文中的序列化意味着将 Java 对象转换为其 JSON 表示形式。 为了进行序列化,我们需要一个 Gson 对象,该对象可以处理转换。 接下来,我们需要调用函数toJson(),并传递Employee对象。

  1. Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");
  2. Gson gson = new Gson();
  3. String jsonString = gson.toJson(emp);
  4. System.out.println(jsonString);

程序输出。

  1. {
  2. "id":1001,
  3. "firstName":"Lokesh",
  4. "lastName":"Gupta",
  5. "email":"howtodoinjava@gmail.com"
  6. }

2.反序列化 – 使用 Gson 读取 JSON

在 Gson 上下文中,反序列化意味着将 JSON 字符串转换为等效的 Java 对象。 为了进行反序列化,我们需要一个 Gson 对象,并从Json()调用函数,并在解析完成后传递两个参数,即 JSON 字符串和所需的 Java 类型。

  1. String jsonString = "{'id':1001, 'firstName':'Lokesh', 'lastName':'Gupta', 'email':'howtodoinjava@gmail.com'}";
  2. Gson gson = new Gson();
  3. Employee empObject = gson.fromJson(jsonString, Employee.class);
  4. System.out.println(empObject);

程序输出:

  1. Employee [id=1001, firstName=Lokesh, lastName=Gupta, email=howtodoinjava@gmail.com]

向我提供有关Gson对象及其toJson()fromJson()方法的问题。

学习愉快!

参考文献:

GSON Github