国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json

2019-11-15 02:27:02
字體:
來源:轉載
供稿:網友

Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json

原文:http://www.survivalescaperooms.com/chsWord/archive/2008/09/19/Newtonsoft_new_3_0.html

http://www.survivalescaperooms.com/usharei/archive/2012/04/24/2467578.html

原本感覺Newtonsoft.Json和.net自己的javaScriptSerializer相差無幾,所以將工程里的Json都換成了JavascriptSerializer來實現,可是近幾日遇到一個需求.在反序列化時我并沒有預先定義好的類,而是要以字典形式讀取.

于是我自己實現了一個類,由于沒有模型對象,所以所有的Json讀取和檢測過程都要重新寫過.

后來卻發現Newtonsoft中已經提供了我需要的功能,甚至還提供了Json的Linq查詢.

JObject

下面用個實例來搞定它的讀寫

1.Json是這樣的

{title:123,body:456,list:{title:'這是一個標題',body:'what'}}
2.我要將其中幾項都搞出來,代碼:
static void Main(string[] args){    string str = "{title:123,body:456,list:{title:'這是一個標題',body:'what'}}";    JObject o = JObject.Parse(str);    Console.WriteLine(o["title"]);    Console.WriteLine(o["body"]);    Console.WriteLine(o["list"]["title"]);    Console.WriteLine(o["list"]["body"]);    Console.ReadKey();}
3.這樣就輸出了:
123456"這是一個標題""what"
 
不足:字符串還是按字符串輸出帶"",但我想這也不是問題.Trim就好了

Linq to Json

Linq to JSON是用來操作JSON對象的.可以用于快速查詢,修改和創建JSON對象.當JSON對象內容比較復雜,而我們僅僅需要其中的一小部分數據時,可以考慮使用Linq to JSON來讀取和修改部分的數據而非反序列化全部.

string str = "{title:123,body:456,list:{title:'這是一個標題',body:'what'}}";JObject o = JObject.Parse(str);var s =  from p in o.Children()  select p;foreach (var item in s){    Console.WriteLine(item);}Console.ReadKey();

創建JSON數組和對象

類名 說明
JObject
 用于操作JSON對象
JArray
 用語操作JSON數組
JValue
 表示數組中的值
JPRoperty
 表示對象中的屬性,以"key/value"形式
JToken
 用于存放Linq to JSON查詢后的結果

 

 

 

 

 

創建JSON對象

JObject staff = new JObject();staff.Add(new JProperty("Name", "Jack"));staff.Add(new JProperty("Age", 33));staff.Add(new JProperty("Department", "Personnel Department"));staff.Add(new JProperty("Leader", new JObject(new JProperty("Name", "Tom"), new JProperty("Age", 44), new JProperty("Department", "Personnel Department"))));Console.WriteLine(staff.ToString());

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫阳县| 马关县| 平舆县| 贡山| 五台县| 尤溪县| 大理市| 淅川县| 静安区| 玛纳斯县| 剑河县| 青浦区| 江门市| 安溪县| 淄博市| 山西省| 衡山县| 玛曲县| 西城区| 巴彦县| 陆丰市| 菏泽市| 灵璧县| 农安县| 财经| 望城县| 乐平市| 台北县| 南乐县| 大同市| 福州市| 荣昌县| 玛纳斯县| 乌兰浩特市| 涟水县| 长宁区| 元阳县| 太和县| 新丰县| 哈密市| 乌拉特中旗|