Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để giải mã hóa một mảng JSON để liệt kê kiểu chung trong Java?


Gson thư viện cung cấp một lớp có tên com.google.gson.reflect.TypeToke n để lưu trữ các loại chung bằng cách tạo Gson TypeToken lớp và vượt qua loại lớp. Sử dụng loại này, Gson có thể biết lớp được truyền trong lớp chung.

Cú pháp

public class TypeToken<T> extends Object

Chúng tôi có thể giải mã hóa mảng JSON thành một loại danh sách chung trong ví dụ dưới đây

Ví dụ

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 + "]";
   }
}

Đầu ra

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