Utf8JsonReader 구조체

정의

UTF-8 인코딩 JSON 텍스트에 대한 정방향 읽기 전용 액세스를 위한 고성능 API를 제공합니다.Provides a high-performance API for forward-only, read-only access to UTF-8 encoded JSON text.

public value class Utf8JsonReader
public struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
상속
Utf8JsonReader

설명

Utf8JsonReader 캐싱을 사용 하지 않고 텍스트를 순차적으로 처리 하며 기본적으로 JSON RFC를 엄격 하 게 준수 합니다.Utf8JsonReader processes the text sequentially with no caching and by default adheres strictly to the JSON RFC.

Utf8JsonReader는 잘못 된 JSON을 발견할 경우 줄의 JsonException 줄 번호와 바이트 위치와 같은 기본적인 오류 정보를 포함 하는을 throw 합니다.When Utf8JsonReader encounters invalid JSON, it throws a JsonException with basic error information like line number and byte position on the line.

이 형식은 ref 구조체 이므로 비동기를 직접 지원 하지 않습니다.Since this type is a ref struct, it doesn't directly support async. 그러나 불완전 한 데이터를 읽을 수 있도록 재진입을 지원 하 고 더 많은 데이터가 표시 되 면 계속 읽을 수 있습니다.However, it does provide support for reentrancy to read incomplete data and to continue reading once more data is presented.

주석을 읽거나 허용 하는 동안 최대 깊이를 설정할 수 있도록 하려면 인스턴스를 만들고 JsonReaderOptions 판독기에 전달 합니다.To be able to set max depth while reading OR allow skipping comments, create an instance of JsonReaderOptions and pass it to the reader.

자세한 내용은 System.Text.Js를 사용 하 여 사용자 지정 serializer 및 deserializers를 작성 하는 방법을 참조 하세요.For more information, see How to write custom serializers and deserializers with System.Text.Json.

생성자

Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState)

UTF-8로 인코딩된 텍스트의 읽기 전용 시퀀스를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화하고 입력에 처리할 모든 텍스트가 포함되어 있는지 표시합니다.Initializes a new instance of the Utf8JsonReader structure that processes a read-only sequence of UTF-8 encoded text and indicates whether the input contains all the text to process.

Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions)

지정된 옵션을 사용하여 UTF-8 인코딩된 텍스트의 읽기 전용 시퀀스를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화합니다.Initializes a new instance of the Utf8JsonReader structure that processes a read-only sequence of UTF-8 encoded text using the specified options.

Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState)

UTF-8로 인코딩된 텍스트의 읽기 전용 범위를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화하고 입력에 처리할 모든 텍스트가 포함되었는지 표시합니다.Initializes a new instance of the Utf8JsonReader structure that processes a read-only span of UTF-8 encoded text and indicates whether the input contains all the text to process.

Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions)

지정된 옵션을 사용하여 UTF-8 인코딩된 텍스트의 읽기 전용 범위를 처리하는 Utf8JsonReader 구조의 새 인스턴스를 초기화합니다.Initializes a new instance of the Utf8JsonReader structure that processes a read-only span of UTF-8 encoded text using the specified options.

속성

BytesConsumed

Utf8JsonReader의 이 인스턴스에서 지금까지 소비한 총 바이트 수를 가져옵니다.Gets the total number of bytes consumed so far by this instance of the Utf8JsonReader.

CurrentDepth

현재 토큰의 깊이를 가져옵니다.Gets the depth of the current token.

CurrentState

추가 데이터와 함께 Utf8JsonReader 생성자에 전달할 현재 Utf8JsonReader 상태를 가져옵니다.Gets the current Utf8JsonReader state to pass to a Utf8JsonReader constructor with more data.

HasValueSequence

토큰 값을 가져오기 위해 사용할 속성을 나타내는 값을 가져옵니다.Gets a value that indicates which Value property to use to get the token value.

IsFinalBlock

모든 JSON 데이터가 제공되었는지 또는 더 많은 데이터가 있는지를 나타내는 Utf8JsonReader의 이 인스턴스 모드를 가져옵니다.Gets the mode of this instance of the Utf8JsonReader which indicates whether all the JSON data was provided or there is more data to come.

Position

Utf8JsonReader 구조체가 ReadOnlySpan<byte>로 생성된 경우 제공된 UTF-8 인코딩 입력 ReadOnlySequence<byte> 또는 기본값 SequencePosition 내에서 현재 SequencePosition을 가져옵니다.Gets the current SequencePosition within the provided UTF-8 encoded input ReadOnlySequence<byte> or a default SequencePosition if the Utf8JsonReader struct was constructed with a ReadOnlySpan<byte>.

TokenStartIndex

지정된 UTF-8 인코딩 입력 텍스트에서 마지막으로 처리된 JSON 토큰이 시작되는 인덱스를 가져와 공백을 건너뜁니다.Gets the index that the last processed JSON token starts at (within the given UTF-8 encoded input text), skipping any white space.

TokenType

UTF-8 인코딩 JSON 텍스트로 마지막으로 처리된 JSON 토큰의 형식을 가져옵니다.Gets the type of the last processed JSON token in the UTF-8 encoded JSON text.

ValueSequence

토큰이 여러 세그먼트에 포함된 경우에만 마지막 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySequence<byte> 조각으로 가져옵니다.Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments.

ValueSpan

토큰이 단일 세그먼트에 맞거나 판독기가 ReadOnlySpan<byte>에 포함된 JSON 페이로드를 사용하여 생성된 경우 마지막으로 처리된 토큰의 원시 값을 입력 페이로드의 ReadOnlySpan<byte> 조각으로 가져옵니다.Gets the raw value of the last processed token as a ReadOnlySpan<byte> slice of the input payload, if the token fits in a single segment or if the reader was constructed with a JSON payload contained in a ReadOnlySpan<byte>.

메서드

GetBoolean()

원본으로부터 다음 JSON 토큰 값을 Boolean으로 읽습니다.Reads the next JSON token value from the source as a Boolean.

GetByte()

소스로부터 현재 JSON 토큰 값을 Byte로 구문 분석합니다.Parses the current JSON token value from the source as a Byte.

GetBytesFromBase64()

소스에서 현재 JSON 토큰 값을 구문 분석하고 Base 64 인코딩 JSON 문자열을 바이트 배열로 디코딩합니다.Parses the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array.

GetComment()

소스에서 주석으로 현재 JSON 토큰 값을 구문 분석하여 String으로 트랜스코딩합니다.Parses the current JSON token value from the source as a comment, transcoded it as a String.

GetDateTime()

원본으로부터 다음 JSON 토큰 값을 읽고 DateTime에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a DateTime.

GetDateTimeOffset()

원본으로부터 다음 JSON 토큰 값을 읽고 DateTimeOffset에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a DateTimeOffset.

GetDecimal()

원본으로부터 다음 JSON 토큰 값을 읽고 Decimal에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a Decimal.

GetDouble()

원본으로부터 다음 JSON 토큰 값을 읽고 Double에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a Double.

GetGuid()

원본으로부터 다음 JSON 토큰 값을 읽고 Guid에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a Guid.

GetInt16()

소스로부터 현재 JSON 토큰 값을 Int16로 구문 분석합니다.Parses the current JSON token value from the source as a Int16.

GetInt32()

원본으로부터 다음 JSON 토큰 값을 읽고 Int32에 구문 분석합니다.Reads the next JSON token value from the source and parses it to an Int32.

GetInt64()

원본으로부터 다음 JSON 토큰 값을 읽고 Int64에 구문 분석합니다.Reads the next JSON token value from the source and parses it to an Int64.

GetSByte()

소스로부터 현재 JSON 토큰 값을 SByte로 구문 분석합니다.Parses the current JSON token value from the source as an SByte.

GetSingle()

원본으로부터 다음 JSON 토큰 값을 읽고 Single에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a Single.

GetString()

이스케이프된 소스로부터 다음 JSON 토큰 값을 읽고 문자열로 트랜스코딩합니다.Reads the next JSON token value from the source, unescaped, and transcoded as a string.

GetUInt16()

소스로부터 현재 JSON 토큰 값을 UInt16로 구문 분석합니다.Parses the current JSON token value from the source as a UInt16.

GetUInt32()

원본으로부터 다음 JSON 토큰 값을 읽고 UInt32에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a UInt32.

GetUInt64()

원본으로부터 다음 JSON 토큰 값을 읽고 UInt64에 구문 분석합니다.Reads the next JSON token value from the source and parses it to a UInt64.

Read()

입력 소스로부터 다음 JSON 토큰을 읽습니다.Reads the next JSON token from the input source.

Skip()

현재 JSON 토큰의 자식을 건너뜁니다.Skips the children of the current JSON token.

TryGetByte(Byte)

소스에서 현재 JSON 토큰 값을 Byte로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a Byte and returns a value that indicates whether the operation succeeded.

TryGetBytesFromBase64(Byte[])

소스에서 현재 JSON 토큰 값을 구문 분석하고 Base64 인코딩된 JSON 문자열을 바이트 배열로 디코딩한 다음 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source and decodes the Base64 encoded JSON string as a byte array and returns a value that indicates whether the operation succeeded.

TryGetDateTime(DateTime)

소스에서 현재 JSON 토큰 값을 DateTime로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a DateTime and returns a value that indicates whether the operation succeeded.

TryGetDateTimeOffset(DateTimeOffset)

소스에서 현재 JSON 토큰 값을 DateTimeOffset로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a DateTimeOffset and returns a value that indicates whether the operation succeeded.

TryGetDecimal(Decimal)

소스에서 현재 JSON 토큰 값을 Decimal로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a Decimal and returns a value that indicates whether the operation succeeded.

TryGetDouble(Double)

소스에서 현재 JSON 토큰 값을 Double로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a Double and returns a value that indicates whether the operation succeeded.

TryGetGuid(Guid)

소스에서 현재 JSON 토큰 값을 Guid로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a Guid and returns a value that indicates whether the operation succeeded.

TryGetInt16(Int16)

소스에서 현재 JSON 토큰 값을 Int16로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as an Int16 and returns a value that indicates whether the operation succeeded.

TryGetInt32(Int32)

소스에서 현재 JSON 토큰 값을 Int32로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as an Int32 and returns a value that indicates whether the operation succeeded.

TryGetInt64(Int64)

소스에서 현재 JSON 토큰 값을 Int64로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as an Int64 and returns a value that indicates whether the operation succeeded.

TryGetSByte(SByte)

소스에서 현재 JSON 토큰 값을 SByte로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as an SByte and returns a value that indicates whether the operation succeeded.

TryGetSingle(Single)

소스에서 현재 JSON 토큰 값을 Single로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a Single and returns a value that indicates whether the operation succeeded.

TryGetUInt16(UInt16)

소스에서 현재 JSON 토큰 값을 UInt16로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a UInt16 and returns a value that indicates whether the operation succeeded.

TryGetUInt32(UInt32)

소스에서 현재 JSON 토큰 값을 UInt32로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a UInt32 and returns a value that indicates whether the operation succeeded.

TryGetUInt64(UInt64)

소스에서 현재 JSON 토큰 값을 UInt64로 구문 분석하고 작업에 성공했는지를 표시하는 값을 반환합니다.Tries to parse the current JSON token value from the source as a UInt64 and returns a value that indicates whether the operation succeeded.

TrySkip()

현재 JSON 토큰의 자식을 건너뛰려고 시도합니다.Tries to skip the children of the current JSON token.

ValueTextEquals(ReadOnlySpan<Byte>)

읽기 전용 바이트 범위의 UTF-8로 인코딩된 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다.Compares the UTF-8 encoded text in a read-only byte span to the unescaped JSON token value in the source and returns a value that indicates whether they match.

ValueTextEquals(ReadOnlySpan<Char>)

읽기 전용 문자 범위의 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다.Compares the text in a read-only character span to the unescaped JSON token value in the source and returns a value that indicates whether they match.

ValueTextEquals(String)

지정된 텍스트를 소스의 이스케이프되지 않은 JSON 토큰 값과 비교하고, 일치하는지 표시하는 값을 반환합니다.Compares the string text to the unescaped JSON token value in the source and returns a value that indicates whether they match.

적용 대상