Jackson을 사용하여 객체 배열 역직렬화
Jackson 문서에서는 객체 배열 역직렬화를 지원한다고 주장하지만 구체적인 구문이 명확하지 않을 수 있습니다. 객체 배열을 역직렬화하는 두 가지 접근 방식을 살펴보겠습니다.
직렬화 고려 사항
객체 배열에 대해 다음 JSON 입력을 고려하세요.
[{ "id" : "junk", "stuff" : "things" }, { "id" : "spam", "stuff" : "eggs" }]
역직렬화 접근 방식 1: As Array
ObjectMapper를 인스턴스화하고 readValue를 사용하여 입력을 대상 개체 유형의 배열로 역직렬화합니다.
// Instantiate an ObjectMapper ObjectMapper mapper = new ObjectMapper(); // Deserialize JSON into an array of MyClass objects MyClass[] myObjects = mapper.readValue(jsonInput, MyClass[].class);
역직렬화 접근 방식 2: 목록으로
입력을 목록으로 역직렬화하려면 new를 사용할 수 있습니다. TypeReference 또는 constructorCollectionType:
옵션 a: TypeReference 사용
// Create TypeReference for a list of MyClass objects TypeReference<List<MyClass>> typeRef = new TypeReference<List<MyClass>>() {}; // Deserialize JSON input using the TypeReference List<MyClass> myObjects = mapper.readValue(jsonInput, typeRef);
옵션 b: constructionCollectionType 사용
// Create a CollectionType for a list of MyClass objects JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class); // Deserialize JSON input using the CollectionType List<MyClass> myObjects = mapper.readValue(jsonInput, type);
이러한 접근 방식을 사용하면 객체 배열을 원하는 데이터로 유연하게 역직렬화할 수 있습니다. Jackson을 사용하는 Java의 구조.
위 내용은 Java를 사용하여 Jackson에서 객체 배열을 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!