zoukankan      html  css  js  c++  java
  • Linq To Json

    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: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.这样就输出了:
    123
    456
    "这是一个标题"
    "what"
     
    不足:字符串还是案字符串输出带"",但我想这也不是问题.Trim就好了

    Linq to Json

    基本Linq的都差不多,可以参考Json.net文档.这个并未深入研究

    	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();

    介绍完了,欢迎讨论,欢迎留言批评

  • 相关阅读:
    POJ 2752 Seek the Name, Seek the Fame
    POJ 2406 Power Strings
    KMP 算法总结
    SGU 275 To xor or not to xor
    hihocoder 1196 高斯消元.二
    hihoCoder 1195 高斯消元.一
    UvaLive 5026 Building Roads
    HDU 2196 computer
    Notions of Flow Networks and Flows
    C/C++代码中的笔误
  • 原文地址:https://www.cnblogs.com/MyFlora/p/2483479.html
Copyright © 2011-2022 走看看