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+ 浏览

开启你的 职业生涯

完成课程,获得认证

开始学习
广告