ASP.NET MVC で JSON.Net をデフォルトの JSON シリアライザーとして設定する
ASP.NET MVC 4 のデフォルトの JSON シリアライザーは JavaScriptSerializer
です。 これにより、JSON.Net の機能を優先する場合、列挙型が文字列ではなく数値としてシリアル化されるなどの問題が発生する可能性があります。
解決策: 手動構成
JSON.Net をデフォルトのシリアライザーとして利用するには、手動構成が必要です。 これには通常、カスタム JsonNetResult
クラスの作成が含まれます。 詳細な手順については、次の役立つリソースを参照してください:
JSON.Net によるモデル バインディング
モデル バインディング (コントローラー アクション パラメーターで JSON データを処理する) に JSON.Net も必要な場合は、カスタム ValueProviderFactory
が必要です。 以下のように登録します。
<code class="language-csharp">ValueProviderFactories.Factories.Remove(ValueProviderFactories.Factories.OfType<JsonValueProviderFactory>().Single()); ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());</code>
カスタム MyJsonValueProviderFactory
は組み込みの JsonValueProviderFactory
に基づいて作成することも、ASP.NET MVC 3 – Json.Net を使用した改良された JsonValueProviderFactory などの例を参照することもできます。 これにより、アプリケーション全体で一貫した JSON 処理が保証されます。
以上がJSON.NETをASP.NET MVCのデフォルトのJSONシリアイザーにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。