나머지를 남겨 클래스 D에 대해서만 커스텀 직 병렬 변환기를 "등록"하는 방법이 있습니까? 기본 디시리얼라이저가 클래스 A에서 C까지 처리하고 클래스 A의 루트 객체를 deserialize하기 위해 단일 메소드 호출로 전체 데이터 구조를 deserialize 할 수 있습니까?는 데이터 구조 내에서 하나 개의 클래스에 대한 사용자 지정 디시리얼라이저를 지정하고 내가 중첩 된 데이터 구조를 가지고있는 기본 디시리얼라이저
아마도 API를 오해했습니다. 그러나 지금까지 발견 한 JSON.NET의 유일한 접근 방식은 네 클래스 모두에 대해 사용자 정의 디시리얼라이저를 작성해야하며 각 클래스는 네 스터 라이즈 된 디시리얼라이저를 중첩 클래스에 호출 할 수 있어야합니다. 즉, A에 대한 사용자 정의 디시리얼라이저는 B에 대한 사용자 정의 디시리얼라이저를 호출합니다. 클래스 D가 deserialize되는 방법을 사용자 정의하면 정말 원하는 모든 작업이 수반됩니다.
정의의 어떤 종류의 당신이 원하는 여기
는 Newtonsoft의 API 문서에서 관련 페이지입니다 이루다? –나는 당신이 [이것과 비슷한 것] (http://www.newtonsoft.com/json/help/html/SerializingJSONFragments.htm)에 대해 이야기하고 있다고 생각합니까? –
@ChetanRanpariya 달성하고자하는 커스터마이징은 D가 실제로 두 개의 하위 유형 인 D1과 D2가있는 인터페이스이며, 역 직렬화되기 전에 어떤 것이 있는지 확인하려고합니다. 이 특정 유형의 사용자 지정을 수행하는 방법은 다음에서 설명합니다. http://stackoverflow.com/questions/8030538/how-to-implement-custom-jsonconverter-in-json-net-to-deserialize-a-list-of -base 그래서 사용자 지정 deserializer를 작성하는 방법을 알고 있지만 이제는 기본 deserializer가 나머지 데이터 구조를 처리하는 동안 deserialization 중에 호출되도록 "register"하는 방법을 알고 싶습니다. – skrilmps