다음을 통해 공유


Utf8JsonReader 구조체

정의

UTF-8 인코딩 JSON 텍스트에 대한 정방향 읽기 전용 액세스를 위한 고성능 API를 제공합니다.

public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
상속
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 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다.

적용 대상