MVC4 /.NET4WebApiコントローラーアクションでJSON文字列を受信しています。アクションのパラメーターはdynamic
、受信側で受信しているJSONオブジェクトについて何も知らないためです。
public dynamic Post(dynamic myobject)
JSONは自動的に解析され、結果のdynamic
オブジェクトはNewtonsoft.Json.Linq.JContainer
です。予想どおり、実行時にプロパティを評価できるため、JSONにmyobject.mypropertyのようなものが含まれている場合は、受信した動的オブジェクトを取得しmyobject.myproperty
てC#コード内で呼び出すことができます。ここまでは順調ですね。
ここで、ネストされたプロパティを含め、JSONの一部として提供されたすべてのプロパティを繰り返し処理したいと思います。ただし、これを行うと、探しているプロパティ(JSONの一部である)ではなく、のプロパティmyobject.GetType().GetProperties()
のみが返されます。Newtonsoft.Json.Linq.JContainer
これを行う方法はありますか?