我的函数返回JsonResult:
var obj = new { pc = peopleCount, fp = finalPrice, os = osoba, dt = date, zd = zadatek };
return new JsonResult { Data = obj, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
我希望从JsonResult获取所有值。如果只有一个值,这很简单,但在这里我有一个具有5个属性的对象。怎么弄他们?现在我有:
var getPrice = (JsonResult)GetBundleData(item.EventID);
var price = getPrice.Data;
我可以看到price
中存在这些值
但我只能使用点和属性名称来获取它们。只有Equals()
,GetHashCode()
,GetType()
和ToString()
。
答案 0 :(得分:0)
由于编译器在运行时不知道price
的类型,我们可以使用dynamic
来实现此目的。
var getPrice = (JsonResult)GetBundleData(item.EventID);
dynamic price = getPrice.Data;
并使用
之类的值DateTime date = Convert.ToDateTime(price.dt);
请注意,如果您确定对象的属性,请使用dynamic 将在运行时抛出异常
假设我使用price.example
它会build
就好了,没有任何错误但是当调用此函数时它会抛出exception
因为它找不到example
属性在price object