>Java >java지도 시간 >Jackson은 역직렬화 중에 JSON 개체의 새 필드를 어떻게 무시할 수 있습니까?

Jackson은 역직렬화 중에 JSON 개체의 새 필드를 어떻게 무시할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-28 08:29:11753검색

How Can Jackson Ignore New Fields in JSON Objects During Deserialization?

Jackson을 사용하여 JSON 개체의 새 필드 무시

JSON 개체는 종종 변경될 수 있으며, 이로 인해 Jackson과 같은 라이브러리를 사용하여 POJO로 변환할 때 오류가 발생할 수 있습니다. 수업. Jackson은 JSON 개체에 새로 추가된 필드를 무시하는 방법을 제공하는 인기 있는 JSON 처리 라이브러리입니다.

문제

JSON 개체에 해당 POJO 클래스에 없는 추가 필드가 있는 경우 , Jackson은 개체 변환에 실패합니다. 이는 새 필드가 선택 사항이고 안전하게 무시할 수 있는 경우에도 발생할 수 있습니다.

해결책: @JsonIgnoreProperties

Jackson은 알 수 없는 속성을 무시하기 위해 클래스에 적용할 수 있는 @JsonIgnoreProperties 주석을 제공합니다. 역직렬화 중. 이 주석을ignoreUnknown = true와 함께 사용하면 Jackson은 POJO 클래스에 없는 모든 속성을 무시하게 됩니다.

@JsonIgnoreProperties를 사용하려면 POJO 클래스 상단에 다음 주석을 추가하기만 하면 됩니다.

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    // Class fields
}

가져오기 설명

사용 중인 Jackson 버전에 따라 다음이 필요합니다. @JsonIgnoreProperties에 대한 올바른 클래스를 가져오려면:

Jackson 2.x의 경우:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

Jackson 1.x의 경우:

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

@JsonIgnoreProperties를 사용하면 다음을 방지할 수 있습니다. JSON 개체에 새 필드가 포함되어 있으면 Jackson이 중단되지 않습니다. 이 주석은 진화하는 JSON 스키마를 처리하고 JSON 객체가 변경되더라도 코드가 안정적으로 유지되도록 하는 간단하고 효과적인 방법을 제공합니다.

위 내용은 Jackson은 역직렬화 중에 JSON 개체의 새 필드를 어떻게 무시할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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