MVC4/.NET4 WebApiコントローラアクションでJSON文字列を受け取りました。アクションのパラメータはdynamic
です。私が受け取っているJSONオブジェクトについて受信側で何も知らないのでです。動的JContainer(JSON.NET)&実行時にプロパティを反復する
public dynamic Post(dynamic myobject)
JSONは自動的に解析され、得られたdynamic
オブジェクトがNewtonsoft.Json.Linq.JContainer
あります。実行時にJSONにmyobject.mypropertyのようなものが含まれていれば、受け取った動的オブジェクトを取得してmyobject.myproperty
をC#コード内で呼び出すことができます。ここまでは順調ですね。
ここでは、ネストされたプロパティを含め、JSONの一部として提供されたすべてのプロパティについて繰り返したいと思います。しかし、私がmyobject.GetType().GetProperties()
を実行すると、それは私が探しているプロパティ(JSONの一部である)の代わりにNewtonsoft.Json.Linq.JContainer
というプロパティのみを返します。
どうすればいいですか?
役立つかもしれない、これは
EDIT
出発点とすることができると思います.com/Supporting-different-data-b0351c9a)の記事は、彼が 'DeserializeRequest'メソッドでやっていることを調べるのに役立ちます。 –