Ale*_*lex 5 c# dynamic expandoobject
我正在获取一个JSON对象(可能包含多个级别的JSON数组等),我想将其转换为ExpandoObject。
我想出了如何在实现IDictionary的情况下在运行时向ExpandoObject添加简单属性,但是如何在运行时添加可正确解析的嵌套属性(例如,类似myexpando.somelist.anotherlist.someitem)。
编辑:当前这适用于简单的(第一级)属性:
var exo = new ExpandoObject() as IDictionary<String, Object>;
exo.Add(name, value);
Run Code Online (Sandbox Code Playgroud)
问题是如何获取要嵌套的名称以及如何相应地解析ExpandoObject。
小智 5
dynamic myexpando = new ExpandoObject();
myexpando.somelist = new ExpandoObject() as dynamic;
myexpando.somelist.anotherlist = new ExpandoObject() as dynamic;
myexpando.somelist.anotherlist.someitem = "Hey Hey There! I'm a nested value :D";
Run Code Online (Sandbox Code Playgroud)
这样做怎么样:
var exo = new ExpandoObject() as IDictionary<String, Object>;
var nested1 = new ExpandoObject() as IDictionary<String, Object>;
exo.Add("Nested1", nested1);
nested1.Add("Nested2", "value");
dynamic d = exo;
Console.WriteLine(d.Nested1.Nested2); // Outputs "value"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5307 次 |
| 最近记录: |