Char를 역직렬화하기 위해 System.Text.Json에 단일 문자 문자열 필요
System.Text.Json을 사용하여 Char를 역직렬화하려면 JSON 문자열에 단일 문자가 포함되어 있어야 합니다.
변경 내용 설명
이전 .NET 버전에서는 JSON의 다중 char
문자열이 char
속성 또는 필드로 역직렬화되었습니다. 다음 예제와 같이 문자열의 첫 번째 char
만 사용됩니다.
// .NET Core 3.0 and 3.1: Returns the first char 'a'.
// .NET 5 and later: Throws JsonException because payload has more than one char.
char deserializedChar = JsonSerializer.Deserialize<char>("\"abc\"");
.NET 5 이상에서는 deserialization 대상이 char
인 경우 단일 char
문자열 이외의 모든 항목은 JsonException을 throw합니다. 다음 예제 문자열은 모든 .NET 버전에서 역직렬화됩니다.
// Correct usage.
char deserializedChar = JsonSerializer.Deserialize<char>("\"a\"");
도입된 버전
5.0
변경 이유
역직렬화의 구문 분석은 제공된 페이로드가 대상 유형에 유효한 경우에만 성공합니다. char
형식의 경우 유효한 페이로드는 단일 char
문자열뿐입니다.
권장 작업
JSON을 char
대상으로 역직렬화할 때 문자열이 단일 char
으로 구성되어 있는지 확인하세요.
영향을 받는 API
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET