Utf8JsonWriter 類別

定義

針對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)

設定如何執行從異步可處置專案傳回的工作等候。

適用於