>  기사  >  Java  >  JSON 직렬화 및 역직렬화에 필드만 사용하도록 Jackson을 구성하려면 어떻게 해야 합니까?

JSON 직렬화 및 역직렬화에 필드만 사용하도록 Jackson을 구성하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-24 17:21:21537검색

How Can I Configure Jackson to Use Only Fields for JSON Serialization and Deserialization?

필드만 사용하도록 Jackson 구성: 포괄적인 솔루션

객체를 JSON으로 직렬화 및 역직렬화할 때 Jackson은 기본적으로 getter/setter를 모두 활용합니다. (속성) 및 필드. 그러나 때로는 이 프로세스에서 필드에만 의존하는 것을 선호할 수도 있습니다. 이를 달성하는 방법은 다음과 같습니다.

질문에서 언급한 대로 개별 클래스 수준에서 @JsonAutoDetect 주석을 사용하여 동작을 제어할 수 있습니다. 전역 구성의 경우 다음과 같이 ObjectMapper를 사용자 정의할 수 있습니다.

ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(
    mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
            .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)
);

구성된 매퍼에 대한 전역 액세스가 필요한 경우 구성에 대한 중앙 집중식 접근 방식을 위해 래퍼 클래스 사용을 고려하세요.

위 내용은 JSON 직렬화 및 역직렬화에 필드만 사용하도록 Jackson을 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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