Jun 20, 2013
5 mins read
[DataContract] public class JsonData { [DataMember(Name = "ID", Order = 0)] public int Id { get; set; }[DataMember(Order = 1)] public string Name { get; set; } [DataMember(Order = 2)] public DateTime Today { get; set; } [DataMember(Order=3)] public bool IsBool { get; set; } [IgnoreDataMember()] public string UnlessField { get; set; }
}
// 淮備序列化的類別資料 JsonData d1 = new JsonData() { Id = 1, Name = "data", Today = DateTime.Now, IsBool = true, UnlessField = "沒用到的欄位" };// 初始化DataContractJsonSerializer類別 DataContractJsonSerializer dcjs = new DataContractJsonSerializer(typeof(JsonData)); string jsonString = string.Empty;
// 序列化資料 using (MemoryStream ms = new MemoryStream()) { dcjs.WriteObject(ms, d1); jsonString = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine(jsonString); }
// 反序列化資料 using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) { JsonData d2 = dcjs.ReadObject(ms) as JsonData; Console.WriteLine( "Id:{0}, Name:{1}, Today:{2}, IsBool:{3}, UnlessField:{4}", d2.Id, d2.Name, d2.Today, d2.IsBool, d2.UnlessField); }
Sharing is caring!