Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 일반 유형을 나열하기 위해 JSON 배열을 역직렬화하는 방법은 무엇입니까?


Gson 라이브러리 com.google.gson.reflect.TypeToke라는 클래스를 제공합니다. n 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]]