在開發(fā)中,我非常喜歡動(dòng)態(tài)語言和匿名對(duì)象帶來的方便,JSON.NET具有動(dòng)態(tài)序列化和反序列化任意JSON內(nèi)容的能力,不必將它映射到具體的強(qiáng)類型對(duì)象,它可以處理不確定的類型(集合、字典、動(dòng)態(tài)對(duì)象和匿名對(duì)象),在這篇文章中我將通過JToken、JObject和JArray來動(dòng)態(tài)解析JSON對(duì)象,使它很容易創(chuàng)建和檢索的JSON內(nèi)容而無需基礎(chǔ)類型。通過JObject和JArray創(chuàng)建JSON對(duì)象我們先用非常簡單的方法來動(dòng)態(tài)創(chuàng)建一些JSON,可通過JToken派生的JSON.NET對(duì)象來進(jìn)行,最常見的JToken派生的類是JObject和JArray。
因?yàn)镴Token實(shí)現(xiàn)了IDynamicMetaProvider動(dòng)態(tài)語言接口,所以可以使用dynamic關(guān)鍵字直觀地創(chuàng)建動(dòng)態(tài)對(duì)象,并把這個(gè)動(dòng)態(tài)對(duì)象序列化為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)建一個(gè)音樂專輯結(jié)構(gòu)的一個(gè)示例: