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

 

posted @ 2018-12-08 22:31  生命体验之kevin-Y  阅读(313)  评论(0编辑  收藏  举报