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

发布时间:2024-04-17 15:56:51

如何使用 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

要从 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序列化?详情请关注图灵教育的其他相关文章!

上一篇 Java数据库连接如何配置和管理连接参数?
下一篇 返回列表

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题