> 백엔드 개발 > C++ > 기본 생성자가없는 JSON 데이터를 C# 클래스로 사로화하는 방법은 무엇입니까?

기본 생성자가없는 JSON 데이터를 C# 클래스로 사로화하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-29 16:32:10
원래의
814명이 탐색했습니다.

json.net : 함수의 함수의 기능을 구성하기 위해 기본값이 필요하지 않습니다 How to Deserialize JSON Data into a C# Class Without a Default Constructor?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿