如何將 JSON 陣列反序列化為 Java 中的列表泛型型別?\n


Gson 提供了一個名為com.google.gson.reflect.TypeToken的類,用於透過建立一個 Gson TypeToken 類並傳遞類型別來儲存泛型型別。使用此型別,Gson 能夠了解泛型類中傳遞的類。

語法

public class TypeToken<T> extends Object

在以下示例中,我們可以將 JSON 陣列反序列化為列表的泛型型別

示例

import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class JSONArrayToListTest {
   public static void main(String args[]) throws Exception {
      String jsonStr = "[{\"name\":\"Adithya\", \"course\":\"Java\"}," + "{\"name\":\"Ravi\", \"course\":\"Python\"}]";
      Type listType = new TypeToken<ArrayList<Student>>() {}.getType();
      List<Student> students = new Gson().fromJson(jsonStr, listType);
      System.out.println(students);
   }
}
// Student class
class Student {
   String name;
   String course;
   @Override
    public String toString() {
      return "Student [name=" + name + ", course=" + course + "]";
   }
}

輸出

[Student [name=Adithya, course=Java], Student [name=Ravi, course=Python]]

更新於:2020-07-06

1 千次瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告