Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
发布时间:2020-12-16 19:31:20 所属栏目:百科 来源:网络整理
导读:Json.net codeplex :http://www.codeplex.com/Json 原本感觉Newtonsoft.Json和.net自己的JavaScriptSerializer相差无几,所以将工程里的Json都换成了JavaScriptSerializer来实现,可是近几日遇到一个需求.在反序列化时我并没有预先定义好的类,而是要以字典形式
Json.net codeplex :http://www.codeplex.com/Json 原本感觉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:'what'}}"; JObject o = JObject.Parse(str); Console.WriteLine(o["title"]); Console.WriteLine(o["body"]); Console.WriteLine(o["list"]["body"]); Console.ReadKey(); } 3.这样就输出了: 123 456 "这是一个标题" "what" 不足:字符串还是案字符串输出带"",但我想这也不是问题.Trim就好了 Linq to Json基本Linq的都差不多,可以参考Json.net文档.这个并未深入研究 string str = "var s = from p in o.Children() select p; foreach (var item in s) { Console.WriteLine(item); } Console.ReadKey(); 介绍完了,欢迎讨论,欢迎留言批评 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |