동적 유형 사산화를위한 Custom JSON.NET 변환기
데이터 처리 영역에서 JSON 데이터를 복잡한 객체 계층으로 삼아 도전을 제기 할 수 있습니다. , 특히 다형성 관계를 다룰 때. 이 기사는이 문제를 해결하기 위해 JSON.NET에서 사용자 정의 JSON 변환기의 구현을 탐구합니다.
문제 문 다음 시나리오를 고려하십시오. 기본 클래스가 있습니다. 사람, 하위 클래스 (직원 및 예술가)가있는 사람. 이 서브 클래스의 인스턴스를 포함하는 JSON 배열을 목록에 포함 시키려고합니다. & lt; person & gt;. 그러나 제공된 JSON.NET CustomCreationConverter는 JSON 구조를 기반으로 올바른 유형을 결정할 수있는 기능이 없기 때문에 충분하지 않습니다. 솔루션 : readjson ()을 재정의합니다. 이 제한을 극복하려면 jsonconverter를 서브 클래스하고 readjson () 메소드를 무시해야합니다. 이 메소드 내에서 JSON 리더로부터 구인을 얻어 파생 변환기 클래스에서 구현 한 초록 생성 메소드로 전달할 수 있습니다.jobject and type analysis
. JSON.NET의 JOBJECT 클래스를 사용하면 JSON 객체를 구문 분석하고 해당 속성을 분석 할 수 있습니다. 작업장 내에 특정 필드의 존재를 확인하면 사형화되는 객체의 올바른 유형을 결정할 수 있습니다. 예제 구현
다음 코드는 사용자 정의 변환기를 보여줍니다. 이는 사람의 대상의 다형성 사제화를 처리합니다.작업 방법을 생성 메소드로 전달하여 JSON 구조를 조사하고 적절한 서브 클래스 인스턴스를 만들 수 있습니다. 재정의 readjson () 메소드와 초록 생성 메소드가 장착 된 사용자 정의 JSON 변환기는 JSON 데이터의 다형성 객체 계층을 제외시키는 강력한 메커니즘을 제공합니다.
위 내용은 사용자 정의 JSON.NET 변환기가 다형성 사산화 문제를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!