zoukankan      html  css  js  c++  java
  • json中jobject

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

    json学习:http://www.w3school.com.cn/json/json_intro.asp

    <html>
    <body>
    <h2>在 JavaScript 中创建 JSON 对象</h2>
    
    <p>
    Name: <span id="jname"></span><br />
    Age: <span id="jage"></span><br />
    Address: <span id="jstreet"></span><br />
    Phone: <span id="jphone"></span><br />
    </p>
    
    <script type="text/javascript">
    var JSONObject= {
    "name":"Bill Gates",
    "street":"Fifth Avenue New York 666",
    "age":56,
    "phone":"555 1234567"};
    document.getElementById("jname").innerHTML=JSONObject.name
    document.getElementById("jage").innerHTML=JSONObject.age
    document.getElementById("jstreet").innerHTML=JSONObject.street
    document.getElementById("jphone").innerHTML=JSONObject.phone
    </script>
    
    </body>
    </html>
  • 相关阅读:
    leetcode5 Longest Palindromic Substring
    leetcode17 Letter Combinations of a Phone Number
    leetcode13 Roman to Integer
    leetcode14 Longest Common Prefix
    leetcode20 Valid Parentheses
    leetcode392 Is Subsequence
    leetcode121 Best Time to Buy and Sell Stock
    leetcode198 House Robber
    leetcode746 Min Cost Climbing Stairs
    tomcat下使用druid配置jnid数据源
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5175845.html
Copyright © 2011-2022 走看看