JSON 직렬화
물리적 데이터 모델 (EDM)에서 직렬화에 의해 생성 된 모델을 사용할 때 "유형 시스템의 자체 참조 루프가 감지됩니다."라는 오류가 발생할 수 있습니다. 이 오류는 자체 참조 속성을 포함하여 직렬화 프로세스로 인한 트래버이 및 직렬화 된 객체의 전체 속성 때문입니다.
이 문제를 해결하는 방법은 json.net에서 제공 한
클래스를 사용하는 것입니다. 이를 통해 직렬화를 사용자 정의 할 수 있습니다.
JSONSERIALIZERSETTINGS.REFERENCELOOPHANDLING
구성 해야하는 키 설정은 이며 직렬화 중에 순환 참조를 처리하는 방법을 제어합니다. 기본적으로
로 설정되어주기 기준이 감지 될 때 이상이 발생합니다.
참조 엘로 폴들 링 옵션 : JsonConvert.SerializeObject
참조 eloophandling.error :
참조 eloophandling.serialize : JsonSerializerSettings
객체에 대한 자리 표시자를 작성하고 이전 직렬화 된 배치, 직렬화주기 참조로 교체하여. 명확한 구조를 가진 중첩 물체에 적합합니다.
참조 eloophandling.ignore : 객체가 고유 한 하위 객체 인 경우 직렬화를 건너 뛰십시오.
예 :
주기 참조를 처리하려면 로 ReferenceLoopHandling
를 설정할 수 있습니다.
ReferenceLoopHandling.Error
보존
무제한 중첩 객체로 인해 직렬화 중에 스택 오버 플로우가 발생하면 속성을 사용 하여이 문제를 피할 수 있습니다.
예 :
객체의 구조에 따라 적절한 - 및 설정을 선택하면 JSON 직렬화 기간에 JSON.NET을 사용하여 자체 참조 루프를 성공적으로 처리 할 수 있습니다.
위 내용은 JSON.NET를 사용한 JSON 직렬화에서 자체 참조 루프를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!