原文: 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()
方法的问题。
学习愉快!
参考文献: