>  기사  >  Java  >  Jackson은 어떻게 JSON을 일반 클래스로 역직렬화할 수 있습니까?

Jackson은 어떻게 JSON을 일반 클래스로 역직렬화할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-21 07:18:10251검색

How Can Jackson Deserialize JSON into Generic Classes?

JSON을 사용하여 JSON을 일반 클래스로 역직렬화

JSON 데이터로 작업할 때 JSON 문자열을 클래스로 역직렬화해야 하는 시나리오가 발생할 수 있습니다. 일반 매개변수를 사용합니다. Jackson 라이브러리는 이러한 역직렬화 시나리오를 효과적으로 처리하는 방법을 제공합니다.

JSON 문자열을 일반 클래스로 역직렬화하려면 먼저 일반 유형 매개변수를 사용하여 클래스를 정의해야 합니다.

class Data<T> {
    int found;
    Class<T> hits
}

이제 JSON을 데이터 인스턴스로 역직렬화하기 위해 Jackson이 제공하는 TypeReference 클래스를 사용할 수 있습니다. TypeReference를 사용하면 일반 클래스의 유형을 지정하고 이에 따라 JSON을 역직렬화할 수 있습니다.

ObjectMapper mapper = new ObjectMapper();
String jsonString = "...";

TypeReference<Data<String>> typeRef = new TypeReference<>() {};
Data<String> data = mapper.readValue(jsonString, typeRef);

이 예에서는 Data readValue의 두 번째 인수로 전달합니다. 그런 다음 Jackson은 JSON 문자열을 Data의 인스턴스로 역직렬화합니다.

TypeReference를 사용할 때 일반 매개변수의 특정 유형을 제공해야 한다는 점에 유의하는 것이 중요합니다. 이 경우 T의 유형으로 String을 지정했습니다.

TypeReference를 활용하면 Jackson을 사용하여 JSON을 일반 클래스로 효과적으로 역직렬화할 수 있으므로 복잡한 데이터 구조를 쉽게 처리할 수 있습니다.

위 내용은 Jackson은 어떻게 JSON을 일반 클래스로 역직렬화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.