How to use GSON for Java serialization? Install the GSON library. Serialize an object: Convert the object to a JSON string using the toJson() method. Deserialize JSON: Use the fromJson() method to restore an object from a JSON string. Practical example: Using GSON to serialize Java objects in a REST API and return a JSON response.
How to use GSON for Java serialization
Introduction
GSON (Google JSON) is a Java library for serializing objects to and deserializing objects from JSON. It's easy to use, fast, and supports a wide range of data types.
Install GSON
Add GSON to your project via Maven:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version> </dependency>
Serialized objects
To serialize an object to JSON, use toJson()
Method:
import com.google.gson.Gson; public class Main { public static void main(String[] args) { User user = new User("John Doe", 30); Gson gson = new Gson(); String json = gson.toJson(user); System.out.println(json); } static class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } } }
Output:
{"name":"John Doe","age":30}
Deserialize JSON
To deserialize an object from JSON, use fromJson()
Method:
import com.google.gson.Gson; public class Main { public static void main(String[] args) { String json = "{\"name\":\"John Doe\",\"age\":30}"; Gson gson = new Gson(); User user = gson.fromJson(json, User.class); System.out.println(user.getName()); } static class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } } }
Output:
John Doe
Practical case
Suppose you are building a REST API and need to return Java objects as JSON responses. Using GSON, you can implement serialization like this:
import com.google.gson.Gson; @RestController @RequestMapping("/api/users") public class UserController { @GetMapping public List<User> getUsers() { Gson gson = new Gson(); List<User> users = // Fetch a list of users from the database; String json = gson.toJson(users); return ResponseEntity.ok(json) .addHeader("Content-Type", "application/json"); } static class User { // Define the User model } }
This way, the controller can return a serialized JSON response that can be easily parsed by a front-end application or other client.
The above is the detailed content of How to use GSON for Java serialization?. For more information, please follow other related articles on the PHP Chinese website!