이 없기 때문에 JavaScriptSerializer
이것을 처리하기 위해 어떤 기본 구현을 사용할 수 있습니까?
나는 JsonResult
이것을 사용하여 데이터를 JSON으로 포맷 할 수 있지만 직렬화를 어떻게 해제합니까?
아니면 일부 종속성이 누락 project.json
되었습니까?
답변
당신은 사용할 수 있습니다 Newtonsoft.Json
그것은의 종속성의, Microsoft.AspNet.Mvc.ModelBinding
의 종속성이다 Microsoft.AspNet.Mvc
. 따라서 project.json에 종속성을 추가 할 필요가 없습니다.
#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);
WebAPI 컨트롤러를 사용하면 JSON을 다룰 필요가 없습니다.
ASP.Net Core 3.0 업데이트
Json.NET 은 ASP.NET Core 3.0 공유 프레임 워크에서 제거되었습니다.
고성능 Utf8JsonReader
및 에서 새로운 JSON 시리얼 라이저 레이어를 사용할 수 있습니다 Utf8JsonWriter
. JSON에서 객체를 직렬화 해제하고 객체를 JSON으로 직렬화합니다. 메모리 할당은 최소로 유지되며 Stream을 사용하여 JSON을 비동기 적으로 읽고 쓸 수있는 기능이 지원됩니다.
시작하려면 네임 스페이스 에서 JsonSerializer
클래스를 사용하십시오 System.Text.Json.Serialization
. 정보 및 샘플 은 설명서 를 참조하십시오 .
ASP.NET Core 3.0 프로젝트에서 Json.NET을 사용하려면
- Microsoft.AspNetCore.Mvc.NewtonsoftJson에 대한 패키지 참조 추가
- AddNewtonsoftJson ()을 호출하도록 ConfigureServices를 업데이트하십시오.
services.AddMvc()
.AddNewtonsoftJson();
자세한 내용 은 ASP.NET Core 2.2에서 3.0 Preview 2 로 마이그레이션에서 Json.NET 지원 을 읽으십시오 .
답변
.net 코어
using System.Text.Json;
직렬화하려면
var jsonStr = JsonSerializer.Serialize(MyObject)
역 직렬화
var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);
속성 및 null 제외에 대한 자세한 내용은 Microsoft 측을 확인하십시오.