usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Runtime.Serialization;namespaceConsoleApp1{[DataContract]internalclassStudent{[DataMember]publicint Id {get;set;}[DataMember]publicstring Name {get;set;}[DataMember]publicint Age {get;set;}[DataMember]publicstring Sex {get;set;}}}
主程序
usingConsoleApp1;usingSystem.Runtime.Serialization.Json;usingSystem.Text;namespaceprogram{classmain{publicstaticvoidMain(){Student stu =newStudent(){ Id =1, Name ="小明", Sex ="男", Age =80};#region serializer//student类型的序列器DataContractJsonSerializer serializer =newDataContractJsonSerializer(typeof(Student));//将对象以序列器方式写入内存流MemoryStream ms =newMemoryStream();
serializer.WriteObject(ms, stu);//从内存流读出序列化好的对象
ms.Position =0;StreamReader sr =newStreamReader(ms, Encoding.UTF8);string content_josn = sr.ReadToEnd();
sr.Close();
Console.WriteLine(content_josn);#endregion#region deserializerusing(MemoryStream ms2 =newMemoryStream(Encoding.Unicode.GetBytes(content_josn))){//student类型的反序列器DataContractJsonSerializer deserializer=newDataContractJsonSerializer(typeof(Student));Student newstu=(Student)deserializer.ReadObject(ms2);
Console.WriteLine(newstu.Id);
Console.WriteLine(newstu.Name);
Console.WriteLine(newstu.Sex);
Console.WriteLine(newstu.Age);}#endregion}}}