JSON으로 ASP.NET MVC 열거형 직렬화 문제 해결
ASP.NET MVC 애플리케이션이 예기치 않게 JSON 응답에서 원하는 문자열 표현 대신 열거형을 숫자로 직렬화합니다. 이는 일반적으로 사용되는 경우에도 기본 직렬 변환기가 Newtonsoft.Json(Json.NET)이 아님을 나타냅니다. 잠재적인 원인과 해결 방법을 살펴보겠습니다.
1. 구성 확인:
web.config
파일의 콘텐츠 핸들러는 사용자 정의 JSON 직렬 변환기를 정의할 수 있습니다. 그러나 Json.NET이 명시적으로 구성되지 않은 경우 이는 불가능합니다.
2. 기본 직렬 변환기 식별:
중요하게 MVC 5 이전의 ASP.NET MVC 버전은 기본적으로 Json.NET을 사용하지 않습니다. 그들은 JavaScriptSerializer
을 활용합니다. Json.NET의 문자열 열거형 직렬화를 활용하려면 수동 통합이 필요합니다. 이 프로세스를 자세히 설명하는 리소스는 다음과 같습니다.
3. 모델 바인딩 및 사용자 정의 ValueProviderFactory:
Json.NET에서 열거형을 문자열로 올바르게 직렬화하려면 사용자 정의 ValueProviderFactory
가 필요할 수 있습니다. 이 사용자 정의 팩토리를 사용하면 모델 바인딩 중에 JSON 데이터를 모델 속성에 바인딩할 수 있습니다. 구현 세부정보는 다음 리소스를 참조하세요.
이러한 점을 해결하면 ASP.NET MVC 애플리케이션이 예상 동작에 맞춰 JSON 응답 내에서 열거형을 문자열로 직렬화하도록 할 수 있습니다.
위 내용은 내 ASP.NET MVC 열거는 왜 문자열 대신 숫자로 연속화됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!