多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# GSON – 序列化和反序列化 JSON > 原文: [https://howtodoinjava.com/gson/gson-serialize-deserialize-json/](https://howtodoinjava.com/gson/gson-serialize-deserialize-json/) 了解如何使用 Google **GSON** 库将 Java 对象序列化为其 JSON 表示,并将 JSON 字符串反序列化为等效的 Java 对象。 GSON 提供了简单的`toJson()`和`fromJson()`方法,将 Java 对象转换为 JSON,反之亦然。 使用`GsonBuilder`创建具有自定义配置的`Gson`对象,例如**精美打印**。 ```java //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 仓库](https://mvnrepository.com/artifact/com.google.code.gson/gson)以获取最新版本。 ```java <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> ``` Gradle 依赖项。 ```java <dependency> dependencies { implementation 'com.google.code.gson:gson:2.8.5' } ``` ## 2.序列化 – 使用 Gson 编写 JSON [在 Gson 上下文中的序列化](https://howtodoinjava.com/java/serialization/a-mini-guide-for-implementing-serializable-interface-in-java/)意味着将 Java 对象转换为其 JSON 表示形式。 为了进行序列化,我们需要一个 **Gson** 对象,该对象可以处理转换。 接下来,我们需要调用函数`toJson()`,并传递`Employee`对象。 ```java Employee emp = new Employee(1001, "Lokesh", "Gupta", "howtodoinjava@gmail.com"); Gson gson = new Gson(); String jsonString = gson.toJson(emp); System.out.println(jsonString); ``` 程序输出。 ```java { "id":1001, "firstName":"Lokesh", "lastName":"Gupta", "email":"howtodoinjava@gmail.com" } ``` ## 2.反序列化 – 使用 Gson 读取 JSON 在 Gson 上下文中,[反序列化](https://howtodoinjava.com/java/serialization/how-deserialization-process-happen-in-java/)意味着将 JSON 字符串转换为等效的 Java 对象。 为了进行反序列化,我们需要一个 **Gson** 对象,并从`Json()`调用函数,并在解析完成后传递两个参数,即 JSON 字符串和所需的 Java 类型。 ```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); ``` 程序输出: ```java Employee [id=1001, firstName=Lokesh, lastName=Gupta, email=howtodoinjava@gmail.com] ``` 向我提供有关`Gson`对象及其`toJson()`和`fromJson()`方法的问题。 学习愉快! 参考文献: [GSON Github](https://github.com/google/gson)