>Java >java지도 시간 >Jackson을 사용하여 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?

Jackson을 사용하여 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-24 12:27:10958검색

How to Deserialize JSON Arrays of Objects using Jackson?

Jackson을 사용하여 객체 배열 역직렬화

JSON 데이터를 처리할 때 객체 배열을 구문 분석해야 하는 경우가 많습니다. 데이터 바인딩을 위한 인기 있는 Java 라이브러리인 Jackson은 이러한 구조를 역직렬화하기 위한 지원을 제공합니다.

Jackson의 문서에는 "지원되는 모든 유형의 배열"을 역직렬화할 수 있다고 명시되어 있습니다. 그러나 이 프로세스의 특정 구문은 즉시 명확하지 않을 수 있습니다. Jackson을 사용하여 배열의 역직렬화를 명확히 하기 위해 다음 시나리오를 살펴보겠습니다.

단일 개체 역직렬화

다음 JSON 입력을 고려하세요.

{
    "id" : "junk",
    "stuff" : "things"
}

이 JSON을 MyClass라는 Java 개체로 역직렬화하려면 다음을 사용합니다. 코드:

//json input
{
    "id" : "junk",
    "stuff" : "things"
}

//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);

객체 배열 역직렬화

MyClass 객체 배열의 경우 JSON 입력은 다음과 같습니다.

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]

이 배열을 MyClass 객체의 Java 목록으로 역직렬화하려면 두 가지가 있습니다. 옵션:

배열로:

MyClass[] myObjects = mapper.readValue(json, MyClass[].class);

목록으로:

List<MyClass> myObjects = mapper.readValue(jsonInput, new TypeReference<List<MyClass>>() {});

또는 다음을 지정할 수 있습니다. 목록 유형:

List<MyClass> myObjects = mapper.readValue(jsonInput, mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class));

다음을 따르세요. 메서드를 사용하면 Jackson을 사용하여 객체 배열을 효과적으로 역직렬화하고 Java 코드의 해당 콘텐츠에 편리하게 액세스할 수 있습니다.

위 내용은 Jackson을 사용하여 JSON 개체 배열을 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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