web-dev-qa-db-ja.com

Aston.net Core Web ApiでNewtonsoft.Jsonをデフォルトとして使用する方法

ASP.Net Web Api Coreが初めてです。私は過去数年間ASP.Net MVCを使用しており、常にActionFilterを記述し、SerializingJSON.NetJSONに使用しました。そのため、そのようにしてMicrosoftのJavaScript SerializerJSON.Netより遅い)をJSON.Net(400%速いと言われています)に置き換えました。

ASP.Net Web Api Coreでこれをすべて行う方法デフォルトフォーマッタ?を変更する場所

注:ご質問がある場合はお気軽にお問い合わせください。

ありがとう

20
Super Coder

JavaScriptSerializerは.NET Coreに実装/移植されていないため、ASP.NET CoreはすでにJSON.NETを使用しています。

Microsoft.AspNetCore.MvcMicrosoft.AspNetCore.Formatter.Jsonに依存するMicrosoft.AspNetCore.JsonPatchに依存するNewtonsoft.Jsonに依存します( source を参照)。

更新

これはASP.NET Core 1.0〜2.2にのみ当てはまります。 ASP.NET Core 3.0は、JSON.NETへの依存を取り除き、独自のJSONシリアライザーを使用します。

28
Tseng

これは、.netコアアプリケーションの設定を調整するためのコードスニペットです

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddMvc()
        .AddJsonOptions(options => {
            // send back a ISO date
            var settings = options.SerializerSettings;
            settings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
            // dont mess with case of properties
            var resolver = options.SerializerSettings.ContractResolver as DefaultContractResolver;
            resolver.NamingStrategy = null;
        });
}
5
Kieran