我正在接收MVC4/.NET4 WebApi控制器操作中的JSON字符串。該動作的參數是dynamic
,因爲我不知道接收端有關我收到的JSON對象的任何信息。動態JContainer(JSON.NET)&在運行時迭代屬性
public dynamic Post(dynamic myobject)
的JSON被自動解析和所得dynamic
對象是Newtonsoft.Json.Linq.JContainer
。我可以像預期的那樣在運行時評估屬性,因此如果JSON包含類似myobject.myproperty的東西,那麼我現在可以接收動態對象並在C#代碼中調用myobject.myproperty
。到現在爲止還挺好。
現在我想遍歷作爲JSON的一部分提供的所有屬性,包括嵌套屬性。但是,如果我執行myobject.GetType().GetProperties()
,它只會返回屬性Newtonsoft.Json.Linq.JContainer
而不是我正在查找的屬性(即JSON的一部分)。
任何想法如何做到這一點?
[這](http://code.msdn.microsoft .com/Supporting-different-data-b0351c9a)文章可能會幫助你,看看他在'DeserializeRequest'方法中做了什麼。 –