json.net : 함수의 함수의 기능을 구성하기 위해 기본값이 필요하지 않습니다
JSON.NET의 기본 생성자는 JSON 데이터를 객체에 원활하게 시퀀싱 할 수 있습니다. 그러나 클래스를 복원 해야하는 경우 기본 생성자가 처리 프로세스를 방해 할 수 있습니다. 이 문제는 JSON 데이터가 무거운 부하 생성자의 매개 변수와 일치하지만 기본 생성자가있을 때 발생합니다.
솔루션 : 기본 동작을 덮으
json.net이 기본 생성자를 사용하지 못하도록하려면 두 가지 방법이 있습니다.
<.> 1. [jsonConstructor] 기능 :
json.net을 사용하면 [jsonConstructor] 기능을 사용하여 선호하는 개조 가능한 생성자를 지정할 수 있습니다. 이 기능에 필요한 생성자를 사용하면 기본 생성자가 정의 된 경우에도 JSON.NET을 사용하도록 강요 할 수 있습니다. 생성자 매개 변수는 JSON 객체 속성 (소문을 무시)과 일치해야합니다.
<.> 2. 사용자 정의 JSONCONVERTER를 만듭니다 :
또는 클래스를 수정할 수없는 경우 처리 프로세스를 제어하기 위해 사용자 정의 JSONCONVERRER를 만들 수 있습니다. 변환기의 readjson 메소드는 비 방어 생성자 구성 객체를 사용하고 JSON 데이터에 따라 다른 속성을 채우기 위해 사용자 정의 할 수 있습니다.
예 :
건설 기능이있는 다음 클래스를 고려 :
[jsonConstructor] 기능 메소드를 사용하려면 아래 그림과 같이이 기능 장식의 선호하는 생성자를 사용하십시오.
반면에 사용자 정의 JSONCONVERRER 메소드의 경우 아래 표시된 변환기를 정의 할 수 있습니다.
이 변환기의 readjson 메소드에서 비 디퍼 션 생성자를 사용하여 결과 객체를 인스턴스화하고 JSON 데이터에 따라 다른 속성을 채울 수 있습니다.
이러한 기술을 사용하면 기본 생성자 기능이 있더라도 JSON.NET의 기본 동작을 다루고 무거운 부하 생성자의 사용에 대한 파생물을 활성화 할 수 있습니다. 위 내용은 기본 생성자가없는 JSON 데이터를 C# 클래스로 사로화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!