>  기사  >  백엔드 개발  >  .net의 직렬화에 대한 자세한 설명

.net의 직렬화에 대한 자세한 설명

PHPz
PHPz원래의
2017-04-03 11:59:161465검색

.net의 직렬화

일반적인 직렬화 형식 및 방법

.net에서 일반적인 직렬화 형식에는 주로 json, 바이너리 및 xml이 포함되며 다음 표에 요약되어 있습니다. .

.net의 직렬화에 대한 자세한 설명

맨 위로

참고

엔티티 속성 주석 규칙 정보:

1, all in .net 직렬화에 사용되는 엔터티의 클래스에 [Serialized] 표시를 추가해야 합니다. 그렇지 않으면 json 직렬화 중에는 문제가 없으나, 바이너리 직렬화를 위해 BinaryFormatter를 사용하면 오류가 발생합니다.

2. wcf에 적용할 경우 모든 엔터티의 클래스에 [DataContract] 태그를 추가하고, 필드에는 [DataMember] 태그를 추가해야 합니다.

3. newtonsoft.json 사용 시 엔터티 클래스에 [DataContract]를 추가하면 일부 필드에 [DataMember]가 추가되고 일부 필드는 추가되지 않지만 추가되지 않은 필드도 추가되어야 합니다. 직렬화 중에 포함된 [DataMember] 필드는 엔터티 클래스에 [JsonObject(MemberSerialization.OptOut)]를 추가하여 해결할 수 있습니다. 즉, 모든 공개 필드를 출력합니다.

4. newtonsoft.json을 사용할 때 System.Web.UI.WebControls.ListItem을 직렬화할 수 없습니다. 해결 방법은 클래스를 사용자 정의하고 [Serialized]로 표시하는 것입니다.

맨 위로

요약

1. json 형식이라면 NewtonSoft.Json이 가장 빠르지는 않지만 가장 다재다능합니다(순환 참조 처리 가능). .

2. xml 형식인 경우 .net과 함께 제공되는 XmlSerializer를 사용하세요.

3. 바이너리 형식이라면 .net에서 제공하는 BinaryFormatter를 사용하세요. Protobuf는 빠르지만 일련번호를 추가하는 것이 번거롭습니다.

위 내용은 .net의 직렬화에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.