Utf8JsonWriter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
針對UTF-8編碼 JSON 文字的正向、非快取寫入,提供高效能 API。
public ref class Utf8JsonWriter sealed : IAsyncDisposable, IDisposable
public sealed class Utf8JsonWriter : IAsyncDisposable, IDisposable
type Utf8JsonWriter = class
interface IAsyncDisposable
interface IDisposable
type Utf8JsonWriter = class
interface IDisposable
interface IAsyncDisposable
Public NotInheritable Class Utf8JsonWriter
Implements IAsyncDisposable, IDisposable
- 繼承
-
Utf8JsonWriter
- 實作
備註
Utf8JsonWriter 依序撰寫文字,無快取,且預設遵循 JSON RFC,唯獨不需撰寫註解。
嘗試在啟用驗證時寫入無效 JSON 的方法會拋出帶有特定情境錯誤訊息的 。InvalidOperationException
若要格式化輸出,包含縮排與留白,跳過驗證,或自訂逃逸行為,建立一個 JsonWriterOptions 實例並傳給寫入者。
欲了解更多資訊,請參閱 如何使用 System.Text.JSON 撰寫自訂序列化器與解序列器。
建構函式
| 名稱 | Description |
|---|---|
| Utf8JsonWriter(IBufferWriter<Byte>, JsonWriterOptions) |
初始化該類別的新實例 Utf8JsonWriter ,使用指定的 IBufferWriter<T> 設定來寫入輸出及自訂選項。 |
| Utf8JsonWriter(Stream, JsonWriterOptions) |
使用指定的串流初始化該類別的新實例 Utf8JsonWriter ,將輸出寫入並設定選項。 |
屬性
| 名稱 | Description |
|---|---|
| BytesCommitted |
取得目前實例目前已提交到輸出的總位元組數。 |
| BytesPending |
取得目前尚未被清除並提交的位元組 Utf8JsonWriter 數。 |
| CurrentDepth |
能取得目前代幣的深度。 |
| Options |
使用此實例撰寫 JSON 時,會取得自訂行為,指示寫入時是否格式化輸出、是否跳過結構性 JSON 驗證,以及哪些字元要跳脫。 |
方法
| 名稱 | Description |
|---|---|
| Dispose() |
提交尚未清除的剩餘 JSON 文字,並釋放目前實例所使用的所有資源。 |
| DisposeAsync() |
非同步提交尚未清除的剩餘 JSON 文字,並釋放目前實例使用的所有資源。 |
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| Flush() |
提交目前寫好的 JSON 文字,讓它能被輸出目的地看到。 |
| FlushAsync(CancellationToken) |
非同步提交目前寫的 JSON 文字,讓它對輸出目的地可見。 |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| Reset() |
重置此實例的內部狀態,使其能被重複使用。 |
| Reset(IBufferWriter<Byte>, JsonWriterOptions) |
針對UTF-8編碼 JSON 文字的正向、非快取寫入,提供高效能 API。 |
| Reset(IBufferWriter<Byte>) |
重置此實例的內部狀態,使其能與新的實例 IBufferWriter<T>重複使用。 |
| Reset(Stream, JsonWriterOptions) |
針對UTF-8編碼 JSON 文字的正向、非快取寫入,提供高效能 API。 |
| Reset(Stream) |
重置此實例的內部狀態,使其能與新的實例 Stream重複使用。 |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
| WriteBase64String(JsonEncodedText, ReadOnlySpan<Byte>) |
將預先編碼的屬性名稱和原始位元組值(以 Base64 編碼的 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteBase64String(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
將屬性名稱和原始位元組值(用 Base64 編碼的 JSON 字串)寫入 JSON 物件的名稱/值對中。 |
| WriteBase64String(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
將屬性名稱和原始位元組值(用 Base64 編碼的 JSON 字串)寫入 JSON 物件的名稱/值對中。 |
| WriteBase64String(String, ReadOnlySpan<Byte>) |
將屬性名稱和原始位元組值(用 Base64 編碼的 JSON 字串)寫入 JSON 物件的名稱/值對中。 |
| WriteBase64StringSegment(ReadOnlySpan<Byte>, Boolean) |
將輸入位元組寫入部分 JSON 字串。 |
| WriteBase64StringValue(ReadOnlySpan<Byte>) |
會把原始位元組值寫成 Base64 編碼的 JSON 字串。 |
| WriteBoolean(JsonEncodedText, Boolean) |
將預先編碼的屬性名稱和 Boolean 值(以 JSON 字面值的 真 或 假形式)寫入 JSON 物件的名稱/值對中。 |
| WriteBoolean(ReadOnlySpan<Byte>, Boolean) |
會寫入一個屬性名稱,指定為唯讀的位元組區段,以及Boolean一個值(以 JSON 字面值,真或假)作為 JSON 物件名稱/值對的一部分。 |
| WriteBoolean(ReadOnlySpan<Char>, Boolean) |
寫入一個屬性名稱,指定為唯讀字元區段,並將 Boolean 一個值(以 JSON 字面值,如 真 或 假)作為 JSON 物件名稱/值對的一部分。 |
| WriteBoolean(String, Boolean) |
它會將屬性名稱(以字串形式)寫入,並Boolean以 JSON 字面值(true/false)作為 JSON 物件名稱/值對的一部分。 |
| WriteBooleanValue(Boolean) |
寫入一個Boolean值(以 JSON 字面值,真或假)。 |
| WriteCommentValue(ReadOnlySpan<Byte>) |
會將 UTF-8 文字值寫成 JSON 註解。 |
| WriteCommentValue(ReadOnlySpan<Char>) |
會以 JSON 註解寫入 UTF-16 文字值。 |
| WriteCommentValue(String) |
會寫一個字串文字值作為 JSON 註解。 |
| WriteEndArray() |
寫入 JSON 陣列的結尾。 |
| WriteEndObject() |
寫入 JSON 物件的結尾。 |
| WriteNull(JsonEncodedText) |
它會將預先編碼的屬性名稱和 JSON 字 面 null 寫入 JSON 物件的名稱/值對。 |
| WriteNull(ReadOnlySpan<Byte>) |
它會寫入一個屬性名稱,指定為只讀的位元組區段,以及 JSON 字面 null ,作為 JSON 物件名稱/值對的一部分。 |
| WriteNull(ReadOnlySpan<Char>) |
它會寫入一個屬性名稱,指定為唯讀字元範圍,並將 JSON 字面 null 作為 JSON 物件名稱/值對的一部分。 |
| WriteNull(String) |
它會寫入一個屬性名稱,並以字串形式寫入 JSON 字 面 null ,作為 JSON 物件的名稱/值對的一部分。 |
| WriteNullValue() |
寫入 JSON 的 literal null。 |
| WriteNumber(JsonEncodedText, Decimal) |
將預先編碼的屬性名稱和 Decimal 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, Double) |
將預先編碼的屬性名稱和 Double 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, Int32) |
將預先編碼的屬性名稱和 Int32 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, Int64) |
將預先編碼的屬性名稱和 Int64 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, Single) |
將預先編碼的屬性名稱和 Single 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, UInt32) |
將預先編碼的屬性名稱和 UInt32 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(JsonEncodedText, UInt64) |
將預先編碼的屬性名稱和 UInt64 值(以 JSON 編號形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(ReadOnlySpan<Byte>, Decimal) |
寫入一個屬性名稱,指定為唯讀的位元組範圍,以及 Decimal 一個 JSON(JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Byte>, Double) |
寫入一個屬性名稱,指定為唯讀的位元組範圍,以及 Double 一個 JSON(JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Byte>, Int32) |
它會寫入一個屬性名稱,指定為唯讀的位元組區段,並將 Int32 一個值(以 JSON 數字形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(ReadOnlySpan<Byte>, Int64) |
它會寫入一個屬性名稱,指定為唯讀的位元組區段,並將 Int64 一個值(以 JSON 數字形式)寫入 JSON 物件的名稱/值對中。 |
| WriteNumber(ReadOnlySpan<Byte>, Single) |
寫入一個屬性名稱,指定為唯讀的位元組範圍,以及 Single 一個 JSON(JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Byte>, UInt32) |
寫入一個屬性名稱,指定為唯讀的位元組範圍,以及 UInt32 一個 JSON(JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Byte>, UInt64) |
寫入一個屬性名稱,指定為唯讀的位元組範圍,以及 UInt64 一個 JSON(JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, Decimal) |
它會寫入一個屬性名稱,指定為只讀字元範圍,並將 Decimal 一個值(以 JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, Double) |
它會寫入一個屬性名稱,指定為只讀字元範圍,並將 Double 一個值(以 JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, Int32) |
寫入一個屬性名稱,指定為唯讀字元範圍,並將 Int32 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, Int64) |
寫入一個屬性名稱,指定為唯讀字元範圍,並將 Int64 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, Single) |
它會寫入一個屬性名稱,指定為只讀字元範圍,並將 Single 一個值(以 JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, UInt32) |
它會寫入一個屬性名稱,指定為只讀字元範圍,並將 UInt32 一個值(以 JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(ReadOnlySpan<Char>, UInt64) |
它會寫入一個屬性名稱,指定為只讀字元範圍,並將 UInt64 一個值(以 JSON 數字)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, Decimal) |
它會寫入一個屬性名稱(以字串形式)和 Decimal 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, Double) |
它會寫入一個屬性名稱(以字串形式)和 Double 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, Int32) |
它會將屬性名稱寫成字串,並將 Int32 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, Int64) |
它會將屬性名稱寫成字串,並將 Int64 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, Single) |
它會寫入一個屬性名稱(以字串形式)和 Single 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, UInt32) |
它會寫入一個屬性名稱(以字串形式)和 UInt32 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumber(String, UInt64) |
它會寫入一個屬性名稱(以字串形式)和 UInt64 一個值(以 JSON 編號)作為 JSON 物件名稱/值對的一部分。 |
| WriteNumberValue(Decimal) |
它會寫入一個 Decimal 值(以 JSON 編號形式)。 |
| WriteNumberValue(Double) |
它會寫入一個 Double 值(以 JSON 編號形式)。 |
| WriteNumberValue(Int32) |
它會寫入一個 Int32 值(以 JSON 編號形式)。 |
| WriteNumberValue(Int64) |
它會寫入一個 Int64 值(以 JSON 編號形式)。 |
| WriteNumberValue(Single) |
它會寫入一個 Single 值(以 JSON 編號形式)。 |
| WriteNumberValue(UInt32) |
它會寫入一個 UInt32 值(以 JSON 編號形式)。 |
| WriteNumberValue(UInt64) |
它會寫入一個 UInt64 值(以 JSON 編號形式)。 |
| WritePropertyName(JsonEncodedText) |
將預先編碼的屬性名稱(以 JSON 字串形式)寫入 JSON 物件名稱/值對的第一部分。 |
| WritePropertyName(ReadOnlySpan<Byte>) |
將 UTF-8 屬性名稱(以 JSON 字串形式)寫入 JSON 物件名稱/值對的第一部分。 |
| WritePropertyName(ReadOnlySpan<Char>) |
將屬性名稱(以 JSON 字串形式)寫入 JSON 物件名稱/值對的第一部分。 |
| WritePropertyName(String) |
將屬性名稱(以 JSON 字串形式)寫入 JSON 物件名稱/值對的第一部分。 |
| WriteRawValue(ReadOnlySequence<Byte>, Boolean) |
輸入會寫成 JSON 內容。 預期輸入內容為單一完整的 JSON 值。 |
| WriteRawValue(ReadOnlySpan<Byte>, Boolean) |
輸入會寫成 JSON 內容。 預期輸入內容為單一完整的 JSON 值。 |
| WriteRawValue(ReadOnlySpan<Char>, Boolean) |
輸入會寫成 JSON 內容。 預期輸入內容為單一完整的 JSON 值。 |
| WriteRawValue(String, Boolean) |
輸入會寫成 JSON 內容。 預期輸入內容為單一完整的 JSON 值。 |
| WriteStartArray() |
寫入 JSON 陣列的開頭。 |
| WriteStartArray(JsonEncodedText) |
寫入一個 JSON 陣列的開頭,並以預先編碼的屬性名稱作為鍵。 |
| WriteStartArray(ReadOnlySpan<Byte>) |
它會寫入一個 JSON 陣列的開頭,並以只讀的位元組區段作為鍵值指定屬性名稱。 |
| WriteStartArray(ReadOnlySpan<Char>) |
寫入一個 JSON 陣列的開頭,鍵值指定為只讀字元區間的屬性名稱。 |
| WriteStartArray(String) |
寫入一個 JSON 陣列的開頭,鍵值指定屬性名稱為字串。 |
| WriteStartObject() |
寫入 JSON 物件的開頭。 |
| WriteStartObject(JsonEncodedText) |
它會寫入一個 JSON 物件的開頭,並以預先編碼的屬性名稱作為鍵。 |
| WriteStartObject(ReadOnlySpan<Byte>) |
它會寫入一個 JSON 物件的開頭,並以只讀的位元組區段作為鍵值。 |
| WriteStartObject(ReadOnlySpan<Char>) |
它會寫入一個 JSON 物件的開頭,並以只讀字元區間作為鍵值指定屬性名稱。 |
| WriteStartObject(String) |
它會寫入一個 JSON 物件的開頭,並以字串指定屬性名稱作為鍵。 |
| WriteString(JsonEncodedText, DateTime) |
將預先編碼的屬性名稱和 DateTime 值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, DateTimeOffset) |
將預先編碼的屬性名稱和 DateTimeOffset 值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, Guid) |
將預先編碼的屬性名稱和 Guid 值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, JsonEncodedText) |
將預先編碼的屬性名稱和預編碼的值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, ReadOnlySpan<Byte>) |
將預先編碼的屬性名稱和 UTF-8 文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, ReadOnlySpan<Char>) |
將預先編碼的屬性名稱和文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(JsonEncodedText, String) |
將預先編碼的屬性名稱和字串文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(ReadOnlySpan<Byte>, DateTime) |
它會寫入 UTF-8 屬性名稱和 DateTime 一個值(以 JSON 字串形式)作為 JSON 物件名稱/值對的一部分。 |
| WriteString(ReadOnlySpan<Byte>, DateTimeOffset) |
它會寫入 UTF-8 屬性名稱和 DateTimeOffset 一個值(以 JSON 字串形式)作為 JSON 物件名稱/值對的一部分。 |
| WriteString(ReadOnlySpan<Byte>, Guid) |
它會寫入 UTF-8 屬性名稱和 Guid 一個值(以 JSON 字串形式)作為 JSON 物件名稱/值對的一部分。 |
| WriteString(ReadOnlySpan<Byte>, JsonEncodedText) |
將 UTF-8 屬性名稱和預先編碼的值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
將 UTF-8 屬性名稱和 UTF-8 文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Byte>, ReadOnlySpan<Char>) |
將 UTF-8 屬性名稱和 UTF-16 文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Byte>, String) |
將 UTF-8 屬性名稱和字串文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(ReadOnlySpan<Char>, DateTime) |
寫入一個屬性名稱,指定為唯讀字元範圍,並以 JSON 字串形式寫入 DateTime 一個值,作為 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Char>, DateTimeOffset) |
寫入一個屬性名稱,指定為唯讀字元範圍,並以 JSON 字串形式寫入 DateTimeOffset 一個值,作為 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Char>, Guid) |
寫入一個屬性名稱,指定為唯讀字元範圍,並以 JSON 字串形式寫入 Guid 一個值,作為 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Char>, JsonEncodedText) |
將屬性名稱和預先編碼的值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
將 UTF-16 屬性名稱和 UTF-8 文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
將 UTF-16 屬性名稱和 UTF-16 文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteString(ReadOnlySpan<Char>, String) |
將 UTF-16 屬性名稱和字串文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteString(String, DateTime) |
將屬性名稱寫成字串,並將 DateTime 值(以 JSON 字串)寫入 JSON 物件的名稱/值對。 |
| WriteString(String, DateTimeOffset) |
將屬性名稱寫成字串,並將 DateTimeOffset 值(以 JSON 字串)寫入 JSON 物件的名稱/值對。 |
| WriteString(String, Guid) |
將屬性名稱寫成字串,並將 Guid 值(以 JSON 字串)寫入 JSON 物件的名稱/值對。 |
| WriteString(String, JsonEncodedText) |
將屬性名稱和預先編碼的值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對中。 |
| WriteString(String, ReadOnlySpan<Byte>) |
將屬性名稱寫成字串,並以 UTF-8 文字值(以 JSON 字串)作為 JSON 物件名稱/值對的一部分。 |
| WriteString(String, ReadOnlySpan<Char>) |
它會將屬性名稱以字串形式指定,並以 UTF-16 文字值(以 JSON 字串形式)作為 JSON 物件名稱/值對的一部分。 |
| WriteString(String, String) |
它會將屬性名稱(以字串形式)和字串文字值(以 JSON 字串形式)寫入 JSON 物件的名稱/值對。 |
| WriteStringValue(DateTime) |
它會寫入一個 DateTime 值(以 JSON 字串形式)。 |
| WriteStringValue(DateTimeOffset) |
它會寫入一個 DateTimeOffset 值(以 JSON 字串形式)。 |
| WriteStringValue(Guid) |
它會寫入一個 Guid 值(以 JSON 字串形式)。 |
| WriteStringValue(JsonEncodedText) |
會寫入預先編碼好的文字值(以 JSON 字串形式)。 |
| WriteStringValue(ReadOnlySpan<Byte>) |
會寫入 UTF-8 的文字值(以 JSON 字串形式)。 |
| WriteStringValue(ReadOnlySpan<Char>) |
會寫入一個 UTF-16 的文字值(以 JSON 字串形式)。 |
| WriteStringValue(String) |
寫入一個字串文字值(以 JSON 字串形式)。 |
| WriteStringValueSegment(ReadOnlySpan<Byte>, Boolean) |
將 UTF-8 文字值區段寫成部分 JSON 字串。 |
| WriteStringValueSegment(ReadOnlySpan<Char>, Boolean) |
將文字值區段寫成部分 JSON 字串。 |
擴充方法
| 名稱 | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
設定如何執行從異步可處置專案傳回的工作等候。 |