从动态对象C#读取值

时间:2012-10-16 20:19:17

标签: c# asp.net-mvc json dynamicobject

我试图从System.Web.Helpers.DynamicJsonObject中读取值。我可以在调试器中看到这些值,但我无法弄清楚如何访问它们。我试过这个

item.GetType().GetProperty("batch_id").GetValue(item, null);

但是当我尝试在调试器中得到这个响应" item.GetType()。GetProperty(" batch_id")'是null"

我附上了我的解决方案中的图片 enter image description here

谢谢你, -Tesh

3 个答案:

答案 0 :(得分:27)

这是动态的,所以你可以这样做:

string batchId = item.batch_id;

如果由于某种原因,您在string中拥有属性名称,并且在编译时不知道它,则索引操作符将起作用:

string value = item["batch_id"];

答案 1 :(得分:3)

尝试枚举值DynamicJsonObject.GetDynamicMemberNames Method。它返回 IEnumerable 字符串

答案 2 :(得分:1)

它不起作用,因为它们是字段,而不是属性。而且,是的,它是动态的,所以你只能使用item.batch_id