Home > Java > javaTutorial > body text

How to use GSON for Java serialization?

WBOY
Release: 2024-04-16 12:39:02
Original
611 people have browsed it

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>
Copy after login

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;
    }
  }
}
Copy after login

Output:

{"name":"John Doe","age":30}
Copy after login

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;
    }
  }
}
Copy after login

Output:

John Doe
Copy after login

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
  }
}
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template