Json.net을 사용하여 기본 및 파생 유형 목록을 역직렬화하고 실제 유형을 보존하려면 어떻게 해야 합니까?
Json.net을 사용하여 파생 유형 역직렬화
기본 클래스 Base
와 파생 클래스 Derived
가 있다고 가정합니다. 여기서 Derived
는 Base
에서 상속됩니다. Base
및 Base
의 인스턴스가 포함된 Derived
개체 목록이 있습니다. 이 목록의 JSON 표현을 역직렬화할 때 파생 형식을 Base
개체가 아닌 실제 형식으로 검색하려고 합니다.
이를 달성하기 위해 Json.net은 유형 이름 처리라는 기능을 제공합니다. 이 기능을 활성화하고 직렬화 및 역직렬화 작업에 설정 매개변수로 전달하면 직렬화된 JSON에 포함되어야 하는 개체 유형을 지정할 수 있습니다.
Base object1 = new Base() { Name = "Object1" }; Derived object2 = new Derived() { Something = "Some other thing" }; List<Base> inheritanceList = new List<Base>() { object1, object2 }; JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; string Serialized = JsonConvert.SerializeObject(inheritanceList, settings); List<Base> deserializedList = JsonConvert.DeserializeObject<List<Base>>(Serialized, settings);
이 역직렬화되면 deserializedList
에는 올바른 유형의 Base
및 Derived
개체가 포함됩니다. 그러나 유형 이름 처리를 활성화하면 단점이 있습니다. 직렬화된 JSON에 모든 객체와 목록의 이름이 포함되므로 어떤 경우에는 이상적이지 않을 수 있습니다.
위 내용은 Json.net을 사용하여 기본 및 파생 유형 목록을 역직렬화하고 실제 유형을 보존하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까?

STL (정렬, 찾기, 변환 등)의 알고리즘을 효율적으로 사용하려면 어떻게합니까?
