首页 > 代码库 > C#序列化修改元素名称
C#序列化修改元素名称
有时候将自己序列化好的串要发送给别的接口,但是发现接收端的对象与自己建的对象所包含的属性不同,这时候又不想修改自己的对象的属性名字,那怎么办呢?
很简单,就是给自己的属性加上个标识就行,具体看代码:
1 [DataContract] 2 public class SampleClass 3 { 4 [DataMember(Name = "StudentName")] 5 public string Name { get; set; } 6 [DataMember(Name = "StudentAge")] 7 public Int32 Age { get; set; } 8 [DataMember(Name = "StudentAddress")] 9 public string Address { get; set; }10 11 public override string ToString()12 {13 using (MemoryStream menoryStream = new MemoryStream())14 {15 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(SampleClass));16 serializer.WriteObject(menoryStream, this);17 return Encoding.UTF8.GetString(menoryStream.ToArray());18 }19 }20 }
通过DataContract指定了数据协定之后,就可以为需要序列化的属性加上DataMember特性,并传递Name参数修改属性的名字,Order排序...是不是很简单,自己去试试吧
注意如果添加了DataContract特性后,如果属性没有添加DataMember,那该属性将不被序列化的
C#序列化修改元素名称
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。