首頁 >Java >java教程 >如何使用GSON進行Java序列化?

如何使用GSON進行Java序列化?

WBOY
WBOY原創
2024-04-16 12:39:02642瀏覽

如何使用 GSON 進行 Java 序列化?安裝 GSON 函式庫。序列化物件:使用 toJson() 方法將物件轉換為 JSON 字串。反序列化 JSON:使用 fromJson() 方法從 JSON 字串還原物件。實戰案例:在 REST API 中使用 GSON 序列化 Java 物件並傳回 JSON 回應。

如何使用GSON進行Java序列化?

如何使用GSON 進行Java 序列化

簡介

GSON(Google JSON)是一個Java 庫,用於將物件序列化為JSON,並從JSON 反序列化物件。它易於使用,速度快,並且支援廣泛的資料類型。

安裝GSON

透過Maven 將GSON 加入你的專案:

<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.10.1</version>
</dependency>

序列化物件

#要將物件序列化為JSON,請使用toJson() 方法:

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;
    }
  }
}

輸出:

{"name":"John Doe","age":30}

反序列化JSON

###############################################################################1 #####要從JSON 反序列化對象,請使用###fromJson()### 方法:###
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;
    }
  }
}
###輸出:###
John Doe
######實戰案例### ######假設你正在建立一個REST API,需要將Java 物件回傳為JSON 回應。使用 GSON,你可以像這樣實現序列化:###
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
  }
}
###透過這種方式,控制器可以返回序列化的 JSON 回應,前端應用程式或其他客戶端可以輕鬆地解析該回應。 ###

以上是如何使用GSON進行Java序列化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn