1. ホーム
  2. c#

ASP.NET Web APIでJson.NETのカスタムJsonSerializerSettingsを設定する方法は?

2023-09-20 09:40:33

質問

ASP.NET Web APIがオブジェクトの(デ)シリアライズにJson.NETをネイティブで使用することは理解していますが、このような場合に JsonSerializerSettings オブジェクトを指定する方法はありますか?

例えば、もし私が type の情報をシリアライズされた JSON 文字列に含めたい場合はどうすればよいでしょうか。通常、私は設定を .Serialize() の呼び出しに設定を注入するのですが、Web APIはそれを無言で実行します。私は手動で設定を注入する方法を見つけることができません。

どのように解決するのですか?

をカスタマイズすることができます。 JsonSerializerSettings を使うことで Formatters.JsonFormatter.SerializerSettings プロパティで HttpConfiguration オブジェクトに追加します。

例えば、Application_Start()メソッドでそれを行うことができます。

protected void Application_Start()
{
    HttpConfiguration config = GlobalConfiguration.Configuration;
    config.Formatters.JsonFormatter.SerializerSettings.Formatting =
        Newtonsoft.Json.Formatting.Indented;
}