source

뉴턴소프트 사용법Asp.net Core Web API에서 Json을 기본값으로 설정하시겠습니까?

manycodes 2023. 4. 6. 21:48
반응형

뉴턴소프트 사용법Asp.net Core Web API에서 Json을 기본값으로 설정하시겠습니까?

ASP는 처음입니다.Net Web API Core.ASP를 사용하고 있습니다.지난 몇 년 동안 인터넷 MVC에 접속하여ActionFilter및 사용JSON.Net위해서Serializing에 데이터를 입력하다.JSON그렇게 해서 마이크로소프트의JavaScript Serializer(이것보다 느리다)JSON.Net)와 함께JSON.Net(400% 더 빠르다고 알려져 있습니다).

ASP에서 이 모든 것을 실행하는 방법.Net Web API Core?기본 포맷터를 변경할 위치

주의: 질문이 있으시면 언제든지 문의해 주십시오.

감사해요.

.NET Core 3.0+에는 NuGet 패키지가 포함되어 있습니다.Microsoft.AspNetCore.Mvc.NewtonsoftJson를 교환합니다.

services.AddControllers();

ConfigureServices와 함께

services.AddControllers().AddNewtonsoftJson();

이것은 의 프리 릴리즈 NuGet 패키지입니다.NET Core 3.0 단,의 풀릴리스 패키지NET Core 3.1.

제가 직접 접한 것이지만, 이 SO 문답에 같은 답변과 추가 정보가 기재되어 있는 것을 발견했습니다.

편집: 유용한 업데이트: 호출이 포함된 코드AddNewtonsoftJson()를 인스톨 하지 않아도 컴파일 되어 실행됩니다.Microsoft.AspNetCore.Mvc.NewtonsoftJsonNuGet 패키지이렇게 하면 양쪽 컨버터가 설치되어 실행되지만 디폴트로는System.Text.Json아마 이 답을 읽고 계시기 때문에 원하지 않으실 겁니다.따라서 NuGet 패키지가 제대로 작동하려면 NuGet 패키지를 설치해야 합니다(NuGet 종속성을 제거하고 다시 설치할 경우 다시 설치해야 합니다).

ASP.NET Core가 이미 JSON을 사용하고 있습니다.로서 네트워크 접속JavaScriptSerializer는 실장/포트되어 있지 않습니다.NET 코어

Microsoft.AspNetCore.Mvc에 의존하다Microsoft.AspNetCore.Formatter.Json에 따라 다르다Microsoft.AspNetCore.JsonPatch에 따라 다릅니다.Newtonsoft.Json(소스 참조).

갱신하다

이것은 ASP에만 해당됩니다.NET Core 1.0 ~2.2 ASPNET Core 3.0은 JSON에 대한 의존성을 없앱니다.자체 JSON 시리얼라이저를 사용합니다.

다음은 .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;
        });
}

언급URL : https://stackoverflow.com/questions/42290811/how-to-use-newtonsoft-json-as-default-in-asp-net-core-web-api

반응형