ASP.NET MVC でのカスタム JSON シリアル化
ASP.NET MVC で JSON ActionResult を使用する場合、デフォルトの動作では、列挙型が文字列名ではなく数値としてシリアル化されます。 JSON.Net はこの問題を解決するはずですが、アプリケーションのデフォルトのシリアライザーではない可能性があります。
Web.config 設定を確認します
一般に信じられていることに反して、web.config でのデフォルトの JSON シリアライザーの設定は ASP.NET MVC では機能しません。実際、ASP.NET MVC 4 は依然として JavaScriptSerializer を使用して JSON 操作を処理します。
MVC4 での JSON.Net の実装
JSON.Net を MVC4 に統合するには、カスタム JsonNetResult クラスを作成する必要があります。ガイダンスについては、次の記事を参照してください:
JSON.Net をコントローラー パラメーターに適用する
モデル バインド中に JSON.Net をコントローラー アクション パラメーターに適用するには、独自の ValueProviderFactory 実装を作成します。必ず次のコードを使用して実装を登録してください:
<code class="language-csharp">ValueProviderFactories.Factories.Remove(ValueProviderFactories.Factories .OfType<JsonValueProviderFactory>().Single()); ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());</code>
組み込みの JsonValueProviderFactory の使用を検討するか、詳細については次の記事を参照してください。
以上がASP.NET MVCでJSONシリアル化をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。