.net中的序列化
罕见的序列化花样和要领
在.net中,罕见的序列化花样主要有json,二进制和xml,总结以下表格。
回到顶部
注意事项
关于实体特征标注划定规矩:
1,.net中一切用于序列化的实体的class上应当加上[Serializable]标记,假如不加的话,json序列化的时刻没有问题,然则运用BinaryFormatter举行二进制序列化的时刻就会报错。
2,假如应用在wcf中,一切实体的class上还应当加上[DataContract]标记,字段上要加[DataMember]。
3,在运用newtonsoft.json的时刻,假如实体类加了[DataContract],有些字段加了[DataMember],而有些字段没有加,然则序列化的时刻也要包括那些没有加[DataMember]的字段,能够在实体类上加[JsonObject(MemberSerialization.OptOut)]来处置惩罚,示意输出悉数的大众字段。
4,运用newtonsoft.json时,System.Web.UI.WebControls.ListItem不能序列化,处置惩罚要领是,自定义一个类并标记[Serializable]。
回到顶部
总结
1,假如是json花样,NewtonSoft.Json最通用(能够处置惩罚轮回援用),虽然它不是速率最快的。
2,假如是xml花样,就运用.net自带的XmlSerializer。
3,假如是二进制花样,就运用.net自带的BinaryFormatter,虽然Protobuf速率很快,然则要加序号很贫苦。
以上就是.net中的序列化详解的细致内容,更多请关注ki4网别的相干文章!