>백엔드 개발 >C++ >JSON.NET을 사용하여 유형 정보없이 다형성 JSON을 제조하는 방법은 무엇입니까?

JSON.NET을 사용하여 유형 정보없이 다형성 JSON을 제조하는 방법은 무엇입니까?

DDD
DDD원래의
2025-02-02 11:56:10150검색

JSON.NET를 사용하려면 유형 정보가 필요하지 않습니다. JSON.NET은 강력한 .NET JSON 직렬화 및 사막화 라이브러리입니다. 그러나 직렬화 된 데이터에 유형의 정보가 없을 때 카운터 순차 다형성 JSON이 어려울 수 있습니다. How to Deserialize Polymorphic JSON Without Type Information Using JSON.NET?
>> 질문 : 유형 정보 부족

다형성을 사용하면 여러 클래스가 공공 기지 클래스에서 상속 될 수 있습니다. 심도 화가 다형성 대상의 JSON 데이터를 나타내는 경우, 정보 유형이없는 경우 어떤 클래스를 인스턴스화 해야하는지 결정하기가 어렵습니다. 예를 들어, 다음 JSON 데이터를 고려할 때 갤러리 이미지 또는 갤러리 앨범 클래스를 나타냅니다. "IS_ALBUM"속성은 구별됩니다. 갤러리 이미지의 "is_album"은 False로 설정되었으며 갤러리 앨범은 true로 설정됩니다.

솔루션 : JSONCONVETER

이 다형성 JSON의 종속화를 위해 객체 인스턴스를 처리하기 위해 사용자 정의 JSONCONVERRER를 만들 수 있습니다. 변환기는 "IS_ALBUM"속성을 확인하고 해당 클래스 인스턴스를 만듭니다.

이것은 GalleryItemConverter라는 샘플 변환기입니다

JSON.NET의 후면 직렬화 사용 컨버터를 사용하려면 아래와 같이 기본 json.net 백라일 세리어 라이저에 매개 변수로 포함하십시오. 예제 출력

JSON 데이터 및 사용자 정의 변환기를 사용하여 Deserted GalleryItem 객체를 얻을 수 있습니다.

위 내용은 JSON.NET을 사용하여 유형 정보없이 다형성 JSON을 제조하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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