GSON – 序列化和反序列化 JSON

GSON – 序列化和反序列化 JSON

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

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

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

//Gson gson = new Gson();
Gson gson = new GsonBuilder().setPrettyPrinting().create();

Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");

String jsonString = gson.toJson(emp);

Employee empObject = gson.fromJson(jsonString, Employee.class);

1.依赖

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

<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.5</version>
</dependency>

Gradle 依赖项。

<dependency>
dependencies {
  implementation 'com.google.code.gson:gson:2.8.5'
}

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

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

Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com");

Gson gson = new Gson();

String jsonString = gson.toJson(emp);

System.out.println(jsonString);

程序输出。

{
   "id":1001,
   "firstName":"Lokesh",
   "lastName":"Gupta",
   "email":"howtodoinjava@gmail.com"
}

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

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

String jsonString = "{'id':1001, 'firstName':'Lokesh', 'lastName':'Gupta', 'email':'howtodoinjava@gmail.com'}";

Gson gson = new Gson();

Employee empObject = gson.fromJson(jsonString, Employee.class);

System.out.println(empObject);

程序输出:

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

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

学习愉快!

参考文献:

GSON Github