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>
  • 相关阅读:
    phonegap_android配置文档
    JQueryMobile + PhoneGap 经验总结
    nand ECC 算法记录
    u-boot 2016.05 添加自己的board 以及config.h
    git commit 多行注释方法说明
    Ubuntu 下新建用户后无法sudo
    QT4.8.5 QComboBox 增加选择菜单记录
    Linux GPIO控制方法
    Qt5 can't find -LGL
    windows 端搭建nfs 服务器
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5175845.html
Copyright © 2011-2022 走看看