Utf8JsonReader 구조체
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
UTF-8 인코딩 JSON 텍스트에 대한 정방향 읽기 전용 액세스를 위한 고성능 API를 제공합니다.
public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
- 상속
설명
Utf8JsonReader
는 캐싱 없이 텍스트를 순차적으로 처리하며 기본적으로 JSON RFC를 엄격하게 준수합니다.
잘못된 JSON이 발견되면 Utf8JsonReader
줄 번호 및 바이트 위치와 같은 기본 오류 정보가 줄에 throw JsonException 됩니다.
이 형식은 ref 구조체이므로 비동기를 직접 지원하지 않습니다. 그러나 불완전한 데이터를 읽고 데이터가 더 제공되면 계속 읽기 위해 재진입을 지원합니다.
읽는 동안 최대 깊이를 설정하거나 주석 건너뛰기를 허용하려면 인스턴스 JsonReaderOptions 를 만들고 판독기에게 전달합니다.
자세한 내용은 System.Text.Json을 사용하여 사용자 지정 직렬 변환기 및 역직렬 변환기를 작성하는 방법을 참조하세요.
생성자
Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState) |
UTF-8로 인코딩된 텍스트의 읽기 전용 시퀀스를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화하고 입력에 처리할 모든 텍스트가 포함되어 있는지 표시합니다. |
Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions) |
지정된 옵션을 사용하여 UTF-8 인코딩된 텍스트의 읽기 전용 시퀀스를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화합니다. |
Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState) |
UTF-8로 인코딩된 텍스트의 읽기 전용 범위를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화하고 입력에 처리할 모든 텍스트가 포함되었는지 표시합니다. |
Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions) |
지정된 옵션을 사용하여 UTF-8 인코딩된 텍스트의 읽기 전용 범위를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화합니다. |
속성
BytesConsumed |
Utf8JsonReader의 이 인스턴스에서 지금까지 소비한 총 바이트 수를 가져옵니다. |
CurrentDepth |
현재 토큰의 깊이를 가져옵니다. |
CurrentState |
추가 데이터와 함께 Utf8JsonReader 생성자에 전달할 현재 Utf8JsonReader 상태를 가져옵니다. |
HasValueSequence |
토큰 값을 가져오기 위해 사용할 |
IsFinalBlock |
모든 JSON 데이터가 제공되었는지 또는 더 많은 데이터가 있는지를 나타내는 Utf8JsonReader의 이 인스턴스 모드를 가져옵니다. |
Position |
Utf8JsonReader 구조체가 ReadOnlySpan<byte>로 생성된 경우 제공된 UTF-8 인코딩 입력 ReadOnlySequence<byte> 또는 기본값 SequencePosition 내에서 현재 SequencePosition을 가져옵니다. |
TokenStartIndex |
지정된 UTF-8 인코딩 입력 텍스트에서 마지막으로 처리된 JSON 토큰이 시작되는 인덱스를 가져와 공백을 건너뜁니다. |
TokenType |
UTF-8 인코딩 JSON 텍스트로 마지막으로 처리된 JSON 토큰의 형식을 가져옵니다. |
ValueIsEscaped |
현재 ValueSpan 또는 ValueSequence 속성에 RFC 8259 섹션 7당 이스케이프 시퀀스가 포함되어 있는지 여부를 나타내는 값을 가져오므로 사용하기 전에 이스케이프를 해제해야 합니다. |
ValueSequence |
토큰이 여러 세그먼트에 포함된 경우에만 마지막 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySequence<byte> 조각으로 가져옵니다. |
ValueSpan |
토큰이 단일 세그먼트에 맞거나 판독기가 ReadOnlySpan<byte>에 포함된 JSON 페이로드를 사용하여 생성된 경우 마지막으로 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySpan<byte> 조각으로 가져옵니다. |
메서드
CopyString(Span<Byte>) |
UTF-8 문자열로 이스케이프되지 않은 원본에서 현재 JSON 토큰 값을 대상 버퍼에 복사합니다. |
CopyString(Span<Char>) |
원본에서 현재 JSON 토큰 값을 복사하고, 이스케이프되지 않고, UTF-16 문자 버퍼로 트랜스코딩합니다. |
GetBoolean() |
원본으로부터 다음 JSON 토큰 값을 Boolean으로 읽습니다. |
GetByte() |
소스로부터 현재 JSON 토큰 값을 Byte로 구문 분석합니다. |
GetBytesFromBase64() |
소스에서 현재 JSON 토큰 값을 구문 분석하고 Base 64 인코딩 JSON 문자열을 바이트 배열로 디코딩합니다. |
GetComment() |
소스에서 주석으로 현재 JSON 토큰 값을 구문 분석하여 String으로 트랜스코딩합니다. |
GetDateTime() |
원본으로부터 다음 JSON 토큰 값을 읽고 DateTime에 구문 분석합니다. |
GetDateTimeOffset() |
원본으로부터 다음 JSON 토큰 값을 읽고 DateTimeOffset에 구문 분석합니다. |
GetDecimal() |
원본으로부터 다음 JSON 토큰 값을 읽고 Decimal에 구문 분석합니다. |
GetDouble() |
원본으로부터 다음 JSON 토큰 값을 읽고 Double에 구문 분석합니다. |
GetGuid() |
원본으로부터 다음 JSON 토큰 값을 읽고 Guid에 구문 분석합니다. |
GetInt16() |
소스로부터 현재 JSON 토큰 값을 Int16로 구문 분석합니다. |
GetInt32() |
원본으로부터 다음 JSON 토큰 값을 읽고 Int32에 구문 분석합니다. |
GetInt64() |
원본으로부터 다음 JSON 토큰 값을 읽고 Int64에 구문 분석합니다. |
GetSByte() |
소스로부터 현재 JSON 토큰 값을 SByte로 구문 분석합니다. |
GetSingle() |
원본으로부터 다음 JSON 토큰 값을 읽고 Single에 구문 분석합니다. |
GetString() |
이스케이프된 소스로부터 다음 JSON 토큰 값을 읽고 문자열로 트랜스코딩합니다. |
GetUInt16() |
소스로부터 현재 JSON 토큰 값을 UInt16로 구문 분석합니다. |
GetUInt32() |
원본으로부터 다음 JSON 토큰 값을 읽고 UInt32에 구문 분석합니다. |
GetUInt64() |
원본으로부터 다음 JSON 토큰 값을 읽고 UInt64에 구문 분석합니다. |
Read() |
입력 소스로부터 다음 JSON 토큰을 읽습니다. |
Skip() |
현재 JSON 토큰의 자식을 건너뜁니다. |
TryGetByte(Byte) |
소스에서 현재 JSON 토큰 값을 Byte로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetBytesFromBase64(Byte[]) |
소스에서 현재 JSON 토큰 값을 구문 분석하고 Base64 인코딩된 JSON 문자열을 바이트 배열로 디코딩한 다음 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetDateTime(DateTime) |
소스에서 현재 JSON 토큰 값을 DateTime로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetDateTimeOffset(DateTimeOffset) |
소스에서 현재 JSON 토큰 값을 DateTimeOffset로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetDecimal(Decimal) |
소스에서 현재 JSON 토큰 값을 Decimal로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetDouble(Double) |
소스에서 현재 JSON 토큰 값을 Double로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetGuid(Guid) |
소스에서 현재 JSON 토큰 값을 Guid로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetInt16(Int16) |
소스에서 현재 JSON 토큰 값을 Int16로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetInt32(Int32) |
소스에서 현재 JSON 토큰 값을 Int32로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetInt64(Int64) |
소스에서 현재 JSON 토큰 값을 Int64로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetSByte(SByte) |
소스에서 현재 JSON 토큰 값을 SByte로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetSingle(Single) |
소스에서 현재 JSON 토큰 값을 Single로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetUInt16(UInt16) |
소스에서 현재 JSON 토큰 값을 UInt16로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetUInt32(UInt32) |
소스에서 현재 JSON 토큰 값을 UInt32로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TryGetUInt64(UInt64) |
소스에서 현재 JSON 토큰 값을 UInt64로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다. |
TrySkip() |
현재 JSON 토큰의 자식을 건너뛰려고 시도합니다. |
ValueTextEquals(ReadOnlySpan<Byte>) |
읽기 전용 바이트 범위의 UTF-8로 인코딩된 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다. |
ValueTextEquals(ReadOnlySpan<Char>) |
읽기 전용 문자 범위의 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다. |
ValueTextEquals(String) |
지정된 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다. |