Gson 中 fromJson() 和 toJson() 方法之間的差異?


Gson 是一個用於 Java 的庫,它可以用來生成 JSON。我們可以使用 GsonfromJson() 方法將 JSON 字串解析為 Java 物件,並使用 Gson 的 toJson() 方法將 Java 物件轉換為 JSON 字串fromJson() 方法中有兩個引數,第一個引數是我們要解析的 JSON 字串,第二個引數是要解析 JSON 字串的 Java 類。我們可以將一個引數傳遞給 toJson() 方法,即我們要轉換為 JSON 字串的 Java 物件。

fromJson() 的語法

public <T> fromJson(java.lang.String json, java.lang.Class<T> classOfT) throws JsonSyntaxException

示例

import com.google.gson.*;
public class FromJsonMethodTest {
   public static void main(String[] args) {
      String jsonString = "{'id':101, 'firstName':'Jai','lastName':'Adithya'}";
      Gson gson = new Gson();
      Employee emp = gson.fromJson(jsonString, Employee.class);
      System.out.println(emp);
   }
}
// Employee class
class Employee {
   private int id;
   private String firstName;
   private String lastName;
   public Employee() {}
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
   @Override
   public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("Id : " + id);
      sb.append(", FirstName : " + firstName);
      sb.append(", Last Name : " + lastName);
      return sb.toString();
   }
}

輸出

Id : 101, FirstName : Jai, Last Name : Adithya


toJson() 的語法

public java.lang.String toJson(java.lang.Object src)

示例

import com.google.gson.*;
public class ToJsonMethodTest {
   public static void main(String[] args) {
      Employee emp = new Employee();
      emp.setId(110);
      emp.setFirstName("Raja");
      emp.setLastName("Ramesh");
      Gson gson = new Gson();
      String jsonString = gson.toJson(emp);
      System.out.println(jsonString);
   }
}
// Employee class
class Employee {
   private int id;
   private String firstName;
   private String lastName;
   public Employee() {}
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
}

輸出

{"id":110,"firstName":"Raja","lastName":"Ramesh"}

更新於: 06-7 月-2020

4K+ 瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.