다음을 통해 공유


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