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 중국어 웹사이트의 기타 관련 기사를 참조하세요!