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