• 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

  • 相关阅读:
    Single Number II
    Best Time to Buy and Sell Stock
    Linked List Cycle
    Single Number
    Max Points on a Line
    Strategy
    LRU Cache
    Word Break II
    Text Justification
    Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/kevin-Y/p/10089483.html
Copyright © 2020-2023  润新知