program story

.NET JSON 직렬화 중 필드 무시

inputbox 2020. 10. 12. 07:31
반응형

.NET JSON 직렬화 중 필드 무시 [XmlIgnore]와 비슷합니까?


.NET 3.5 sp1에서 JSON 문자열로 브라우저에 전송되는 POCO 클래스가 있습니다. 기본 JSON 직렬화를 사용하고 있으며 무시하고 싶은 일부 필드가 있습니다. 직렬화되지 않도록 [System.Xml.Serialization.XmlIgnore]와 유사한 속성을 추가하고 싶습니다.


내 모델 에서 ScriptIgnore 속성을 다음과 같이 사용합니다 .

public class Item
{
    [ScriptIgnore]
    public Item ParentItem { get; set; }
}

이 특정 시나리오에서는 Json serializer에서 순환 참조 오류가 발생했기 때문에 무시했습니다. 나는 한 SO 여기에 비슷한 질문을 I는 모델과 뷰 모델의 차이에 켜져 때.


[ScriptIgnore] 

당신의 허커 베리입니다.


[ScriptIgnore(ApplyToOverrides = true)]텍스트 템플릿 (.tt) 파일에을 추가하기 만하면 됩니다.

여기에 내 텍스트 템플릿의 일부가

#>
<#=codeStringGenerator.NavigationProperty(navigationProperty)#>
<#

코드를 삽입하면 codeStringGenerator클래스 위의 줄이 자동으로 생성되고 다음과 같이 표시됩니다.

[ScriptIgnore(ApplyToOverrides = true)]
public virtual ICollection<Currency> Currencies { get; set; }

또한 UsingDirectives삽입 할 함수를 수정해야했습니다."using System.Web.Script.Serialization;"


속성을 내부로 설정합니다. 하지만 구조에 따라 다릅니다. 참작하다.

참고 URL : https://stackoverflow.com/questions/1411577/ignoring-a-field-during-net-json-serialization-similar-to-xmlignore

반응형