我正在获取一个JSON对象(可能包含多个级别的JSON数组等),我想将其转换为ExpandoObject。

我想出了如何在实现IDictionary的情况下在运行时向ExpandoObject添加简单属性,但是如何在运行时正确地解析的嵌套属性(例如myexpando.somelist.anotherlist.someitem之类的东西) 中添加嵌套属性?

编辑:目前,此方法非常适合简单(第一级)属性:

var exo = new ExpandoObject() as IDictionary<String, Object>;
exo.Add(name, value);

问题是如何获取要嵌套的名称以及如何相应地解析ExpandoObject。

最佳答案

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";

关于c# - 动态将嵌套属性添加到ExpandoObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13653989/

10-11 23:59