Utf8JsonReader 構造体
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
UTF-8 でエンコードされた JSON テキストへの前方専用の読み取り専用アクセス用の高パフォーマンス API を提供します。
public value class Utf8JsonReader
public ref struct Utf8JsonReader
type Utf8JsonReader = struct
Public Structure Utf8JsonReader
- 継承
注釈
Utf8JsonReader は、キャッシュなしでテキストを順番に処理し、既定では JSON RFC に厳密に準拠します。
Utf8JsonReaderが無効な JSON を検出すると、行番号や行のバイト位置などの基本的なエラー情報を含むJsonExceptionがスローされます。
この型は ref 構造体であるため、非同期は直接サポートされません。 ただし、不完全なデータを読み取り、もう一度データが表示された後も読み取りを続行するための再入のサポートが提供されます。
読み取り中に最大深度を設定したり、コメントのスキップを許可したりできるようにするには、 JsonReaderOptions のインスタンスを作成してリーダーに渡します。
詳細については、「 Utf8JsonReader の使用」を参照してください。
コンストラクター
| 名前 | 説明 |
|---|---|
| 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 データが提供されたか、それ以上のデータがあるかを示す値を取得します。 |
| Position |
指定された UTF-8 でエンコードされた入力 ReadOnlySequence<byte> 内の現在のSequencePositionを取得します。または、Utf8JsonReader構造体が ReadOnlySpan<byte> で構築された場合の既定のSequencePositionを取得します。 |
| TokenStartIndex |
最後に処理された JSON トークンの開始位置 (指定された UTF-8 エンコード入力テキスト内) で空白をスキップするインデックスを取得します。 |
| TokenType |
UTF-8 でエンコードされた JSON テキスト内の最後に処理された JSON トークンの型を取得します。 |
| ValueIsEscaped |
現在の ValueSpan プロパティまたは ValueSequence プロパティに RFC 8259 セクション 7 に従うエスケープ シーケンスが含まれているかどうかを示す値を取得します。したがって、使用する前にエスケープを解除する必要があります。 |
| ValueSequence |
トークンが複数のセグメント内に含まれている場合にのみ、最後に処理されたトークンの生の値を、入力ペイロードの ReadOnlySequence<byte> スライスとして取得します。 |
| ValueSpan |
最後に処理されたトークンの生の値を、入力ペイロードの ReadOnlySpan<byte> スライスとして取得します。トークンが 1 つのセグメントに収まる場合、またはリーダーが ReadOnlySpan<byte> に含まれる JSON ペイロードを使用して構築された場合。 |
メソッド
| 名前 | 説明 |
|---|---|
| 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 トークン値を 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 トークン値と比較し、一致するかどうかを示す値を返します。 |