最近我在codeplex上发了一个项目SmartObject(基于framework4.5,目前是1.0版本),希望借博客园的首页做个广告,同时也欢迎各位大牛砖拍。用法如下:
// HowToUse using Spider.Data; //json example from http://www.json.org/example.html string json1 = @"{""widget"": { ""debug"": ""on"", ""window"": { ""title"": ""Sample Konfabulator Widget"", ""name"": ""main_window"", ""width"": 500, ""height"": 500 }, ""image"": { ""src"": ""Images/Sun.png"", ""name"": ""sun1"", ""hOffset"": 250, ""vOffset"": 250, ""alignment"": ""center"" }, ""text"": { ""data"": ""Click Here"", ""size"": 36.23, ""style"": ""bold"", ""name"": ""text1"", ""hOffset"": 250, ""vOffset"": 100, ""alignment"": ""center"", ""onMouseUp"": ""sun1.opacity = (sun1.opacity / 100) * 90;"" } } } "; string json2 = @"{""menu"": { ""id"": ""file"", ""value"": ""File"", ""popup"": { ""menuitem"": [ {""value"": ""New"", ""onclick"": 2}, {""value"": ""Open"", ""onclick"": 1.2}, {""value"": ""Close"", ""onclick"": 55555} ] } } }"; dynamic o1 = SmartObject.Parse(json1); dynamic o2 = SmartObject.Parse(json2); Console.WriteLine(o1.widget.text.size); Console.WriteLine(o1.widget.text[1]); Console.WriteLine(o1.widget.text["size"]); Console.WriteLine(o1.ToJson());// ToJson return json string Console.WriteLine(o2.ToJson()); dynamic o3=new SmartObject(); o3.A="abc"; o3["B"]=2345; Console.WriteLine(o3.IsDefine("C")); IDictionary<string, object> dict=o3.AsDictionary();
项目地址:http://smartobject.codeplex.com/