ASP.Net MVC4 では、JsonResult
クラスで使用されるデフォルトの JavaScript シリアライザーは依然としてJavaScriptSerializerです (コードで確認できます) 。
JSON.NetがデフォルトのJSシリアライザーですが、MVC4はそれを使用しないASP.Net Web.APIと混同していると思います。
そのため、MVC4 で動作するように JSON.Net を構成する必要があります (基本的には独自の を作成する必要がありますJsonNetResult
)。それに関する記事はたくさんあります。
コントローラー アクション パラメーターにも JSON.Net を使用する場合は、モデル バインド中に独自のValueProviderFactory
実装を記述する必要があります。
また、実装を次のように登録する必要があります。
ValueProviderFactories.Factories
.Remove(ValueProviderFactories.Factories
.OfType<JsonValueProviderFactory>().Single());
ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());
組み込みをJsonValueProviderFactory
例として使用するか、次の記事を使用できます: ASP.NET MVC 3 – Json.Net を使用した改善された JsonValueProviderFactory