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();
介绍完了,欢迎讨论,欢迎留言批评
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。