如何使用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+瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.