Json.net/Newtonsoft 新特性JObject/Linq to Json
2016-04-05 11:48
567 查看
原本感觉Newtonsoft.Json和.net自己的JavaScriptSerializer相差无几,所以将工程里的Json都换成了JavaScriptSerializer来实现,可是近几日遇到一个需求.在反序列化时我并没有预先定义好的类,而是要以字典形式读取.
于是我自己实现了一个类,由于没有模型对象,所以所有的Json读取和检测过程都要重新写过.
后来却发现Newtonsoft中已经提供了我需要的功能,甚至还提供了Json的Linq查询.
下面用个实例来搞定它的读写
1.Json是这样的
基本Linq的都差不多,可以参考Json.net文档.这个并未深入研究
于是我自己实现了一个类,由于没有模型对象,所以所有的Json读取和检测过程都要重新写过.
后来却发现Newtonsoft中已经提供了我需要的功能,甚至还提供了Json的Linq查询.
JObject
下面用个实例来搞定它的读写1.Json是这样的
{title:123,body:456,list:{title:'这是一个标题',body:'what'}}
2.我要将其中几项都搞出来,代码:
staticvoidMain(string[]args) { stringstr="{title:123,body:456,list:{title:'这是一个标题',body:'what'}}"; JObjecto=JObject.Parse(str); Console.WriteLine(o["title"]); Console.WriteLine(o["body"]); Console.WriteLine(o["list"]["title"]); Console.WriteLine(o["list"]["body"]); Console.ReadKey(); }
3.这样就输出了:
123 456 "这是一个标题" "what"
不足:字符串还是案字符串输出带"",但我想这也不是问题.Trim就好了
LinqtoJson
基本Linq的都差不多,可以参考Json.net文档.这个并未深入研究stringstr="{title:123,body:456,list:{title:'这是一个标题',body:'what'}}";
JObjecto=JObject.Parse(str);
vars=
frompino.Children()
selectp;
foreach(varitemins)
{
Console.WriteLine(item);
}
Console.ReadKey();
相关文章推荐
- 如何遍历newtonsoft.json的JObject里的JSON数据
- makeObjectsPerformSelector
- @synthesize managedObjectModel = _managedObjectModel;
- object-c中的BOOL类型
- Objective-C中的Hello World
- WaitForMultipleObjects使用详解
- 对象关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- Objective-C编码规范
- 阅读 理解 思考 - Learning to Segment Object Candidates
- Excel里如何插入package object
- Object类中的equals();hashcode();toString()方法
- 序列化机制
- java中ObjectOutputStream和ObjectInputStream的使用
- objective-c inherit
- wait()和notify(),notifyAll()是Object类的方法,sleep()和yield()是Thread类的方法
- class与object的区别和使用方法[scala]
- JsonObject 简介
- 移动开发(IOS) – Objective-C-10-KVC、谓词、KVO与通知
- 《JavaScript高级程序设计》——JS中Object与Array类型常用方法。
- Objective-C Rectangle Demo