Compartilhar via


Utf8JsonReader Estrutura

Definição

Fornece uma API de alto desempenho para acesso somente leitura e somente de encaminhamento ao texto JSON codificado em UTF-8.

public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
Herança
Utf8JsonReader

Comentários

Utf8JsonReader processa o texto sequencialmente sem cache e, por padrão, segue estritamente o RFC JSON.

Quando Utf8JsonReader encontra JSON inválido, ele lança uma JsonException com informações básicas de erro, como número de linha e posição de byte na linha.

Como esse tipo é um struct ref, ele não dá suporte direto à assíncrona. No entanto, ele fornece suporte para que a reentração leia dados incompletos e continue lendo mais uma vez que os dados sejam apresentados.

Para poder definir a profundidade máxima ao ler OU permitir ignorar comentários, crie uma instância JsonReaderOptions e passe-a para o leitor.

Para obter mais informações, consulte Como escrever serializadores e desserializadores personalizados com System.Text.Json.

Construtores

Utf8JsonReader(ReadOnlySequence<Byte>, Boolean, JsonReaderState)

Inicializa uma nova instância da estrutura Utf8JsonReader que processa uma sequência somente leitura de texto codificado em UTF-8 e indica se a entrada contém todo o texto a ser processado.

Utf8JsonReader(ReadOnlySequence<Byte>, JsonReaderOptions)

Inicializa uma nova instância da estrutura Utf8JsonReader que processa uma sequência somente leitura de texto codificado em UTF-8 usando as opções especificadas.

Utf8JsonReader(ReadOnlySpan<Byte>, Boolean, JsonReaderState)

Inicializa uma nova instância da estrutura Utf8JsonReader que processa um intervalo somente leitura de texto codificado em UTF-8 e indica se a entrada contém todo o texto a ser processado.

Utf8JsonReader(ReadOnlySpan<Byte>, JsonReaderOptions)

Inicializa uma nova instância da estrutura Utf8JsonReader que processa um intervalo somente leitura de texto codificado em UTF-8 usando as opções especificadas.

Propriedades

BytesConsumed

Obtém o número total de bytes consumidos até o momento por esta instância do Utf8JsonReader.

CurrentDepth

Obtém a profundidade do token atual.

CurrentState

Obtém o estado de Utf8JsonReader atual para ser passado para um construtor Utf8JsonReader com mais dados.

HasValueSequence

Obtém um valor que indica qual propriedade de Valor deve ser usada para obter o valor do token.

IsFinalBlock

Obtém o modo dessa instância do Utf8JsonReader que indica se todos os dados JSON foram fornecidos ou se há mais dados a receber.

Position

Obtém a SequencePosition atual dentro do ReadOnlySequence<byte> de entrada codificado em UTF-8 fornecido ou uma SequencePosition padrão se o struct Utf8JsonReader foi construído com um ReadOnlySpan<byte>.

TokenStartIndex

Obtém o índice em que o último token JSON processado começa (dentro do texto de entrada codificado em UTF-8 fornecido), ignorando qualquer espaço em branco.

TokenType

Obtém o tipo do último token JSON processado em texto JSON codificado em UTF-8.

ValueIsEscaped

Obtém um valor que indica se as propriedades atuais ValueSpan ou ValueSequence de escape contêm sequências de escape por RFC 8259 seção 7 e, portanto, exigem desescaping antes de serem consumidas.

ValueSequence

Obtém o valor bruto do último token processado como uma fatia de ReadOnlySequence<byte> do conteúdo de entrada, somente se o token estiver contido em vários segmentos.

ValueSpan

Obtém o valor bruto do último token processado como uma fatia de ReadOnlySpan<byte> do conteúdo de entrada, se o token couber em um único segmento ou se o leitor foi construído com um conteúdo JSON contido em um ReadOnlySpan<byte>.

Métodos

CopyString(Span<Byte>)

Copia o valor atual do token JSON da origem, sem escape como uma cadeia de caracteres UTF-8 para o buffer de destino.

CopyString(Span<Char>)

Copia o valor atual do token JSON da origem, sem escape e transcodificado como um buffer de caracteres UTF-16.

GetBoolean()

Lê o próximo valor do token JSON da fonte como um Boolean.

GetByte()

Analisa o valor do token JSON atual da fonte como um Byte.

GetBytesFromBase64()

Analisa o valor do token JSON atual da origem e decodifica a cadeia de caracteres JSON codificada em Base64 como uma matriz de bytes.

GetComment()

Analisa o valor do token JSON atual da origem como um comentário, transcodificando-o como um String.

GetDateTime()

Lê o próximo valor de token JSON da fonte e analisa-o para um DateTime.

GetDateTimeOffset()

Lê o próximo valor de token JSON da fonte e analisa-o para um DateTimeOffset.

GetDecimal()

Lê o próximo valor de token JSON da fonte e analisa-o para um Decimal.

GetDouble()

Lê o próximo valor de token JSON da fonte e analisa-o para um Double.

GetGuid()

Lê o próximo valor de token JSON da fonte e analisa-o para um Guid.

GetInt16()

Analisa o valor do token JSON atual da fonte como um Int16.

GetInt32()

Lê o próximo valor de token JSON da fonte e analisa-o para um Int32.

GetInt64()

Lê o próximo valor de token JSON da fonte e analisa-o para um Int64.

GetSByte()

Analisa o valor do token JSON atual da fonte como um SByte.

GetSingle()

Lê o próximo valor de token JSON da fonte e analisa-o para um Single.

GetString()

Lê o próximo valor do token JSON da fonte, sem escape e transcodificado como uma cadeia de caracteres.

GetUInt16()

Analisa o valor do token JSON atual da fonte como um UInt16.

GetUInt32()

Lê o próximo valor de token JSON da fonte e analisa-o para um UInt32.

GetUInt64()

Lê o próximo valor de token JSON da fonte e analisa-o para um UInt64.

Read()

Lê o próximo token JSON da fonte de entrada.

Skip()

Ignora os filhos do token JSON atual.

TryGetByte(Byte)

Tenta analisar o valor do token JSON atual da origem como um Byte e retorna um valor que indica se a operação foi bem-sucedida.

TryGetBytesFromBase64(Byte[])

Tenta analisar o valor do token JSON atual da origem, decodifica a cadeia de caracteres JSON codificada em Base64 como uma matriz de bytes e retorna um valor que indica se a operação foi bem-sucedida.

TryGetDateTime(DateTime)

Tenta analisar o valor do token JSON atual da origem como um DateTime e retorna um valor que indica se a operação foi bem-sucedida.

TryGetDateTimeOffset(DateTimeOffset)

Tenta analisar o valor do token JSON atual da origem como um DateTimeOffset e retorna um valor que indica se a operação foi bem-sucedida.

TryGetDecimal(Decimal)

Tenta analisar o valor do token JSON atual da origem como um Decimal e retorna um valor que indica se a operação foi bem-sucedida.

TryGetDouble(Double)

Tenta analisar o valor do token JSON atual da origem como um Double e retorna um valor que indica se a operação foi bem-sucedida.

TryGetGuid(Guid)

Tenta analisar o valor do token JSON atual da origem como um Guid e retorna um valor que indica se a operação foi bem-sucedida.

TryGetInt16(Int16)

Tenta analisar o valor do token JSON atual da origem como um Int16 e retorna um valor que indica se a operação foi bem-sucedida.

TryGetInt32(Int32)

Tenta analisar o valor do token JSON atual da origem como um Int32 e retorna um valor que indica se a operação foi bem-sucedida.

TryGetInt64(Int64)

Tenta analisar o valor do token JSON atual da origem como um Int64 e retorna um valor que indica se a operação foi bem-sucedida.

TryGetSByte(SByte)

Tenta analisar o valor do token JSON atual da origem como um SByte e retorna um valor que indica se a operação foi bem-sucedida.

TryGetSingle(Single)

Tenta analisar o valor do token JSON atual da origem como um Single e retorna um valor que indica se a operação foi bem-sucedida.

TryGetUInt16(UInt16)

Tenta analisar o valor do token JSON atual da origem como um UInt16 e retorna um valor que indica se a operação foi bem-sucedida.

TryGetUInt32(UInt32)

Tenta analisar o valor do token JSON atual da origem como um UInt32 e retorna um valor que indica se a operação foi bem-sucedida.

TryGetUInt64(UInt64)

Tenta analisar o valor do token JSON atual da origem como um UInt64 e retorna um valor que indica se a operação foi bem-sucedida.

TrySkip()

Tenta ignorar os filhos do token JSON atual.

ValueTextEquals(ReadOnlySpan<Byte>)

Compara o texto codificado em UTF-8 em um intervalo de bytes somente leitura com o valor do token JSON sem escape na origem e retorna um valor que indica se eles são correspondentes.

ValueTextEquals(ReadOnlySpan<Char>)

Compara o texto em um intervalo de caracteres somente leitura com o valor do token JSON sem escape na origem e retorna um valor que indica se eles são correspondentes.

ValueTextEquals(String)

Compara o texto da cadeia de caracteres com o valor do token JSON sem escape na origem e retorna um valor que indica se eles são correspondentes.

Aplica-se a