如何使用GSON库将Java对象转换为JSON?


JSON或JavaScript对象表示法是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定为程序员所熟知,包括C、C++、Java、Python、Perl等。

有几个Java库可用于处理JSON对象。Google Gson是一个简单的基于Java的库,用于将Java对象序列化为JSON,反之亦然。它是由Google开发的一个开源库。

将Java对象转换为JSON

Google的Gson库提供了一个与库名称相同的类(Gson),它是该库的主要类。

此类提供了一个名为**toJson()**的方法,此方法有几个变体,其中一个变体接受一个Java对象并将其转换为JSON对象并返回它。

因此,要使用GSON库将Java对象转换为JSON字符串,请执行以下操作:

  • 将以下maven依赖项添加到您的pom.xml文件中。

<dependency>
   <groupId>com.google.code.gson</groupId>
   <artifactId>gson</artifactId>
   <version>2.8.5</version>
</dependency>
  • 创建一个具有私有变量和setter/getter方法的javabean/POJO对象。

  • 创建另一个类(确保POJO类可供其使用)。

  • 在其中,创建一个POJO类的对象,使用setter方法为其设置所需的值。

  • 实例化Gson类。

  • 通过传递上面创建的POJO对象来调用toJson()方法。

  • 检索并打印获得的JSON。

示例

import com.google.gson.Gson;
class Student {
   private int id;
   private String name;
   private int age;
   private long phone;
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public long getPhone() {
      return phone;
   }
   public void setPhone(long phone) {
      this.phone = phone;
   }
}
public class ObjectTOString {
   public static void main(String args[]) {
      Student std = new Student();
      std.setId(001);
      std.setName("Krishna");
      std.setAge(30);
      std.setPhone(9848022338L);
      //Creating the Gson object
      Gson gSon = new Gson();
      String jsonString = gSon.toJson(std);
      System.out.println(jsonString);
   }
}

输出

{"id":1,"name":"Krishna","age":30,"phone":9848022338}

更新于: 2019年10月10日

1K+浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告