在開發(fā)中,我非常喜歡動態(tài)語言和匿名對象帶來的方便,JSON.NET具有動態(tài)序列化和反序列化任意JSON內(nèi)容的能力,不必將它映射到具體的強(qiáng)類型對象,它可以處理不確定的類型(集合、字典、動態(tài)對象和匿名對象),在這篇文章中我將通過JToken、JObject和JArray來動態(tài)解析JSON對象,使它很容易創(chuàng)建和檢索的JSON內(nèi)容而無需基礎(chǔ)類型。通過JObject和JArray創(chuàng)建JSON對象我們先用非常簡單的方法來動態(tài)創(chuàng)建一些JSON,可通過JToken派生的JSON.NET對象來進(jìn)行,最常見的JToken派生的類是JObject和JArray。
因為JToken實現(xiàn)了IDynamicMetaProvider動態(tài)語言接口,所以可以使用dynamic關(guān)鍵字直觀地創(chuàng)建動態(tài)對象,并把這個動態(tài)對象序列化為JSON字符串。
Newtonsoft.Json的地址:
官網(wǎng):http://json.codeplex.com/
源碼地址:https://github.com/JamesNK/Newtonsoft.Json
Newtonsoft.Json.dll下載:https://github.com/JamesNK/Newtonsoft.Json/releases
例子1、
通過JArray和JObject來創(chuàng)建一個音樂專輯結(jié)構(gòu)的一個示例:
//Newtonsoft.Json.Linq.JObject jsonObject = new Newtonsoft.Json.Linq.JObject {{"Entered", DateTime.Now}}; Newtonsoft.Json.Linq.JObject jsonObject = new Newtonsoft.Json.Linq.JObject(); jsonObject.Add("Entered", DateTime.Now); dynamic album = jsonObject; album.AlbumName = "Dirty Deeds Done Dirt Cheap"; &nbs