185.5.4. polymorphic deserialization에 대한 기본 매핑


지정된 Java 클래스인 com.example.MyClass 가 허용 목록에 없으면 여전히 클래스의 인스턴스를 serialize할 수 있지만 수신 측에서는 일반 기본 매핑을 사용하여 인스턴스는 역직렬화됩니다.

Jackson에서 polymorphic 개체 매핑이 활성화되면 오브젝트를 인코딩하는 몇 가지 다른 방법이 있습니다.

  • @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY):

    {"@class":"com.example.MyClass", "property1":"value1", "property2":"value2", ...}

    이 경우 인스턴스는 속성이 있는 Object 로 역직렬화됩니다.

  • With @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.WRAPPER_ARRAY):

    ["com.example.MyClass", {"property1":"value1", "property2":"value2", ...}]

    이 경우 인스턴스는 두 개의 필드를 포함하는 JSON 배열로 역직렬화됩니다.

    • 값이 com.example.MyClass문자열
    • 두 개 이상의 속성(또는 두 개 이상) 속성을 가진 Object
  • With @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.WRAPPER_OBJECT):

    {"com.example.MyClass":{"property1":"value1", "property2":"value2", ...}}

    이 경우 인스턴스는 단일 필드 com.example.MyClass 를 사용하여 JSON 맵으로 역직렬화되며 값은 두 개 이상의 속성이 있는 Object 로 역직렬화됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.