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 를 만들고 판독기에게 전달합니다.

자세한 내용은 Utf8JsonReader 사용을 참조하세요.

생성자

Name Description
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 를 초기화합니다.

속성

Name Description
BytesConsumed

이 인스턴스 Utf8JsonReader에서 지금까지 사용한 총 바이트 수를 가져옵니다.

CurrentDepth

현재 토큰의 깊이를 가져옵니다.

CurrentState

더 많은 데이터가 있는 생성자에 전달할 Utf8JsonReader 현재 Utf8JsonReader 상태를 가져옵니다.

HasValueSequence

토큰 값을 가져오는 데 사용할 속성을 나타내는 Value 값을 가져옵니다.

IsFinalBlock

모든 JSON 데이터가 제공되었는지 또는 더 많은 데이터가 제공될 것인지를 나타내는 값을 가져옵니다.

Position

제공된 UTF-8로 인코딩된 입력 ReadOnlySequence 바이트> 내의 Utf8JsonReader 현재 SequencePosition 값을 가져오거나, 구조체가 ReadOnlySpan<바이트를> 사용하여 생성된 경우 기본값 SequencePosition 을<가져옵니다.

TokenStartIndex

마지막으로 처리된 JSON 토큰이 지정된 UTF-8로 인코딩된 입력 텍스트 내에서 시작하여 공백을 건너뛰는 인덱스를 가져옵니다.

TokenType

UTF-8로 인코딩된 JSON 텍스트에서 마지막으로 처리된 JSON 토큰의 형식을 가져옵니다.

ValueIsEscaped

현재 ValueSpan 또는 ValueSequence 속성에 RFC 8259 섹션 7당 이스케이프 시퀀스가 포함되어 있으므로 사용하기 전에 이스케이프 해제가 필요한지 여부를 나타내는 값을 가져옵니다.

ValueSequence

토큰이 여러 세그먼트 내에 포함된 경우에만 마지막으로 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySequence<바이트> 조각으로 가져옵니다.

ValueSpan

토큰이 단일 세그먼트에 맞거나 ReadOnlySpan<바이트에> 포함된 JSON 페이로드를 사용하여 판독기를 생성한 경우 마지막으로 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySpan<바이트> 조각으로 가져옵니다.

메서드

Name Description
CopyString(Span<Byte>)

현재 JSON 토큰 값을 이스케이프되지 않은 원본에서 버퍼에 UTF-8바이트로 복사합니다.

CopyString(Span<Char>)

현재 JSON 토큰 값을 이스케이프되지 않은 원본에서 UTF-16 문자로 버퍼에 복사합니다.

GetBoolean()

원본에서 다음 JSON 토큰 값을 읽습니다 Boolean.

GetByte()

원본의 현재 JSON 토큰 값을 .로 Byte구문 분석합니다.

GetBytesFromBase64()

원본에서 현재 JSON 토큰 값을 구문 분석하고 Base64로 인코딩된 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 토큰 값을 a Byte 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetBytesFromBase64(Byte[])

원본에서 현재 JSON 토큰 값을 구문 분석하고 Base64로 인코딩된 JSON 문자열을 바이트 배열로 디코딩하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetDateTime(DateTime)

원본에서 현재 JSON 토큰 값을 a DateTime 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetDateTimeOffset(DateTimeOffset)

원본에서 현재 JSON 토큰 값을 a DateTimeOffset 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetDecimal(Decimal)

원본에서 현재 JSON 토큰 값을 a Decimal 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetDouble(Double)

원본에서 현재 JSON 토큰 값을 a Double 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetGuid(Guid)

원본에서 현재 JSON 토큰 값을 a Guid 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetInt16(Int16)

원본 Int16 에서 현재 JSON 토큰 값을 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetInt32(Int32)

원본 Int32 에서 현재 JSON 토큰 값을 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetInt64(Int64)

원본 Int64 에서 현재 JSON 토큰 값을 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetSByte(SByte)

원본 SByte 에서 현재 JSON 토큰 값을 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetSingle(Single)

원본에서 현재 JSON 토큰 값을 a Single 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetUInt16(UInt16)

원본에서 현재 JSON 토큰 값을 a UInt16 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetUInt32(UInt32)

원본에서 현재 JSON 토큰 값을 a UInt32 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TryGetUInt64(UInt64)

원본에서 현재 JSON 토큰 값을 a UInt64 로 구문 분석하고 작업이 성공했는지 여부를 나타내는 값을 반환합니다.

TrySkip()

현재 JSON 토큰의 자식을 건너뛰려고 시도합니다.

ValueTextEquals(ReadOnlySpan<Byte>)

읽기 전용 바이트 범위의 UTF-8로 인코딩된 텍스트를 원본의 이스케이프되지 않은 JSON 토큰 값과 비교하고 일치하는지 여부를 나타내는 값을 반환합니다.

ValueTextEquals(ReadOnlySpan<Char>)

읽기 전용 문자 범위의 텍스트를 원본의 이스케이프되지 않은 JSON 토큰 값과 비교하고 일치하는지 여부를 나타내는 값을 반환합니다.

ValueTextEquals(String)

문자열 텍스트를 원본의 이스케이프되지 않은 JSON 토큰 값과 비교하고 일치하는지 여부를 나타내는 값을 반환합니다.

적용 대상