Home  >  Article  >  Java  >  How to use GSON for Java serialization?

How to use GSON for Java serialization?

WBOY
WBOYOriginal
2024-04-16 12:39:02606browse

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?

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn