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

Java에서 Gson 라이브러리를 사용하여 일반 유형을 직렬화 및 역직렬화하는 방법은 무엇입니까?


Java 클래스가 일반 유형이고 Gson 라이브러리 와 함께 사용하는 경우 JSON 직렬화 용 및 역직렬화 . Gson 라이브러리는 com.google.gson.reflect.TypeToken이라는 클래스를 제공합니다. Gson TypeToken을 만들어 일반 유형을 저장합니다. 클래스 및 클래스 유형을 전달합니다. 이 유형을 사용하여 Gson은 제네릭 클래스에서 전달된 클래스를 알 수 있습니다.

구문

public class TypeToken<T> extends java.lang.Object

예시

import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class GenericTypesJSONTest {
   public static void main(String[] args) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      List<String> list = Arrays.asList("INDIA", "AUSTRALIA", "ENGLAND", "SOUTH AFRICA");
      String jsonStr = gson.toJson(list);
      System.out.println(jsonStr);
      Type listType = new TypeToken<List<String>>() {}.getType();
      list = gson.fromJson(jsonStr, listType);
      System.out.println(list);
   }
}

출력

[
   "INDIA",
   "AUSTRALIA",
   "ENGLAND",
   "SOUTH AFRICA"
]
[INDIA, AUSTRALIA, ENGLAND, SOUTH AFRICA]