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場合は、行の行番号やバイト位置などの基本的なエラー情報を使用してをスローします。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.

コンストラクター

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

トークン値を取得するために使用する Value プロパティを示す値を取得します。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

指定された UTF-8 でエンコードされた入力 ReadOnlySequence<byte> 内の現在の SequencePosition を取得します。Utf8JsonReader 構造体が ReadOnlySpan<byte> で構築されている場合は既定の 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

最後に処理された JSON トークンの (UTF-8 でエンコードされた指定の入力テキスト内の) 開始位置となるインデックスを取得します。空白はスキップされます。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

トークンが 1 つのセグメントに収まる場合、またはリーダーが 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 トークン値を解析し、Base64 でエンコードされた 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.

適用対象