|
我們知道在.NET中我們有多種對象序列化的方式,如XML方式序列化、Binary序列化,其中XML序列化是一種比較通用的在各語言之間傳遞數據的方式。除了這兩種序列化方式之外,在.NET中還可以使用JSON序列化。
JSON(JavaScript Object Notation)是一種輕量級輕量級的數據交換格式,并且它獨立于編程語言,與XML序列化相比,JSON序列化后產生的數據一般要比XML序列化后數據體積小,所以在Facebook等知名網站中都采用了JSON作為數據交換方式。在.NET中有三種常用的JSON序列化的類,分別是 System.Web.Script.Serialization.JavaScriptSerializer類、System.Runtime.Serialization.Json.DataContractJsonSerializer類和Newtonsoft.Json.JsonConvert類。
為了便于下面的演示,下面提供一個類的代碼:
publicclass User
{
///<summary>
/// 編號
///</summary>
[DataMember]
publicint UserId { get; set; }
///<summary>
/// 用戶名
///</summary>
[DataMember]
publicstring UserName { get; set; }
///<summary>
/// 創建時間
///</summary>
[DataMember]
[JsonConverter(typeof(IsoDateTimeConverter))]
public DateTime CreateDate { get; set; }
///<summary>
/// 生日
///</summary>
[DataMember]
[JsonConverter(typeof(JavaScriptDateTimeConverter))]
public DateTime Birthday { get; set; }
///<summary>
/// 相關URL
///</summary>
[DataMember]
public List<string> Urls { get; set; }
///<summary>
/// 薪水
///</summary>
//[ScriptIgnore]//使用JavaScriptSerializer序列化時不序列化此字段
//[IgnoreDataMember]//使用DataContractJsonSerializer序列化時不序列化此字段
//[JsonIgnore]//使用JsonConvert序列化時不序列化此字段
publicint Salary { get; set; }
///<summary>
/// 權利級別
///</summary>
[DataMember]
public Priority Priority { get; set; }
public User()
{
Urls =new List<string>();
}
}
///<summary>
/// 權利級別
///</summary>
publicenum Priority:byte
{
Lowest=0x1,
BelowNormal=0x2,
Normal=0x4,
AboveNormal=0x8,
Highest=0x16
}
NET技術:在.NET使用JSON作為數據交換格式,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。