Reference Loop Handling이란?뉴턴소프트에서 무시한다고요?
사용할 수 있는 시나리오를 제시해 주실 수 있나요?Reference Loop Handling에서 이해한 내용Ignore는 오브젝트A가 있고 B가 C를 참조하고 C가 다시 A를 참조하는 경우(A->B->C->A), 시리얼라이즈 시에 C와 A 사이에 엔드리스 루프가 발생하므로, 이하를 사용하지 않아도 됩니다.내 말이 맞니?
JsonConvert.SerializeObject(data,
Formatting.Indented,
new JsonSerializerSetting()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}
));
위 내용을 사용하면 해결되는 자기 참조 루프 문제가 있습니다만, 위 행이 어플리케이션(크리티컬 미트)의 고기이기 때문에 정확히 무엇을 하고 있는지 알고 싶습니다.
이에 대한 매뉴얼은 http://james.newtonking.com/projects/json/help/html/SerializationSettings.htm 에서 구할 수 있습니다.
이 글에서 동작은 다음과 같이 기술되어 있습니다(나의 강조).
ReferenceLoopHandling.Error
: 디폴트로는 Json 입니다.참조 루프가 발생하면 NET 에러가 발생합니다(그렇지 않으면 시리얼라이저는 무한 루프 상태가 됩니다).: Json.NET은 참조 루프의 객체를 무시하고 시리얼화하지 않습니다
ReferenceLoopHandling.Ignore
.오브젝트가 처음 발견되었을 때 정상적으로 시리얼화되지만 오브젝트가 자신의 자녀 오브젝트로 검출되면 시리얼라이저는 시리얼화를 건너뜁니다.
ReferenceLoopHandling.Serialize
: 이 옵션은 Json을 강제로 실행합니다.참조 루프의 객체를 시리얼화하는 NET.이는 개체가 중첩되어 있지만 무한히 중첩되지 않은 경우에 유용합니다.
언급URL : https://stackoverflow.com/questions/11979637/what-does-referenceloophandling-ignore-in-newtonsoft-json-exactly-do
'programing' 카테고리의 다른 글
Mongo 셸에서 Mongo 쿼리 출력을 파일로 인쇄하는 중 (0) | 2023.03.08 |
---|---|
루트가 변경되면 Angular UI Bootstrap Modal을 자동으로 닫는 방법이 있나요? (0) | 2023.03.08 |
createspy와 createspyobj의 차이점은 무엇입니까? (0) | 2023.03.08 |
각질 소재를 사용한 클래식한 "스틱 푸터" 구현 방법 (0) | 2023.03.08 |
javascript에서 ISO 날짜 개체를 만듭니다. (0) | 2023.03.08 |