.net datacontractjsonserializer를 사용하여 객체 목록을 JSON 문자열로 직렬화하지만, 직렬화하지 않을 특정 공개 속성이 있습니다. 이러한 속성을 serialize하는 datacontractjson serializer가 있습니까?datacontractjsonializer를 사용하여 프라 티가 직렬화되지 않도록합니다. C#
감사
.net datacontractjsonserializer를 사용하여 객체 목록을 JSON 문자열로 직렬화하지만, 직렬화하지 않을 특정 공개 속성이 있습니다. 이러한 속성을 serialize하는 datacontractjson serializer가 있습니까?datacontractjsonializer를 사용하여 프라 티가 직렬화되지 않도록합니다. C#
감사
는 .NET 시리얼 라이저와 직렬화에 관해서 두 가지 방법이 있습니다 : 속성의
화이트리스트는 :
이것은 recommenden 방법입니다. DataContract
속성을 사용하여 클래스를 명시 적으로 표시합니다. 이 경우 DataMember
특성으로 표시된 속성 만 출력에 포함됩니다.
직렬화하지 않으려는 속성의 검은 목록을 만드는 대신 화이트 목록을 만들고 직렬화하려는 모든 속성을 표시하는 것이 좋습니다. 이것은 개발자가 새로운 속성을 도입 할 때 속성을 직렬화하기를 원하는 것으로 명시 적으로 명시해야하기 때문에 더 안전합니다. 속성의
블랙리스트는 당신이 정말로 검은 목록을 수행하려면 다른 사람에 의해 지적
, 당신은 IgnoreDataMember
속성을 사용할 수 있습니다. 이 경우 DataContract
속성을 사용하여 클래스를 표시 할 필요가 없습니다. 대신 제외 할 속성을 IgnoreDataMember
으로 표시하십시오.
이 내용이 선택 사항과 장점/단점을 설명하는 데 도움이되기를 바랍니다.
편집 : 내 대답
두 가지 옵션이 있습니다, 내가 생각할 수를 확장.
1- 속성에서 [IgnoreDataMember] 속성을 사용해보십시오.
2 - 속성을 [DataMember] 속성으로 표시하지 마십시오.
희망 하시겠습니까?