zoukankan      html  css  js  c++  java
  • DynamicJson-好用dotnet4的json对象

    最近看的书很杂,也深深被ES6的语法感动了,原来javascript可以这么好用。于是重新学习C#4、5、6,发现有一个dynamic就象是一个javascript对象,好玩!且有人写了一个json到DynamicObject的工具类,我觉得十分好用。

    https://archive.codeplex.com/?p=dynamicjson

    //Read and Access
    // Parse (from JsonString to DynamicJson)
    var json = DynamicJson.Parse(@"{""foo"":""json"", ""bar"":100, ""nest"":{ ""foobar"":true } }");
    
    var r1 = json.foo; // "json" - dynamic(string)
    var r2 = json.bar; // 100 - dynamic(double)
    var r3 = json.nest.foobar; // true - dynamic(bool)
    var r4 = json["nest"]["foobar"]; // can access indexer
    //Operate
    var json = DynamicJson.Parse(@"{""foo"":""json"", ""bar"":100, ""nest"":{ ""foobar"":true } }");
    
    // Check Defined Peroperty
    // .name() is shortcut of IsDefined("name")
    var b1_1 = json.IsDefined("foo"); // true
    var b2_1 = json.IsDefined("foooo"); // false

    因为我希望从var对象中构造dynamic对象,象这样

    dynamic tmpVar = new DynamicJson(new { Name = "kevin", Sex = 11 });

    于是我增加了一个构造函数

     public DynamicJson(object obj)
     {
         jsonType = GetJsonType(obj);
         this.xml = new XElement("root", CreateTypeAttr(jsonType), CreateJsonNode2(obj));
     }

    这是我修改后的代码,想要的下载吧:)

    https://files.cnblogs.com/files/kevin-Y/DynamicJson.zip

  • 相关阅读:
    使用canvas技术在网页上绘制鲜花
    java连接Access数据库
    L2-009. 抢红包
    L2-008. 最长对称子串
    L1-032. Left-pad
    L1-016. 查验身份证
    L1-005. 考试座位号
    L1-030. 一帮一
    L1-023. 输出GPLT
    L1-028. 判断素数
  • 原文地址:https://www.cnblogs.com/kevin-Y/p/10089483.html
Copyright © 2011-2022 走看看