Utf8JsonWriter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供高效能 API,以便對 UTF-8 編碼的 JSON 文字進行非快取的順向寫入。
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 撰寫自訂序列化程式和還原序列化程式。
建構函式
Utf8JsonWriter(IBufferWriter<Byte>, JsonWriterOptions) |
使用指定的 IBufferWriter<T> 來將輸出寫入和自訂選項,藉以將 Utf8JsonWriter 類別的新執行個體初始化。 |
Utf8JsonWriter(Stream, JsonWriterOptions) |
使用指定的串流來將輸出寫入和自訂選項,藉以將 Utf8JsonWriter 類別的新執行個體初始化。 |
屬性
BytesCommitted |
取得目前執行個體到目前為止認可至輸出的位元組總數。 |
BytesPending |
取得 Utf8JsonWriter 到目前為止所寫入但尚未排清到輸出並認可的位元組數目。 |
CurrentDepth |
取得目前權杖的深度。 |
Options |
取得使用此執行個體寫入 JSON 時的自訂行為,指出是否要在寫入時將輸出格式化、是否要略過結構化 JSON 驗證,以及要逸出哪些字元。 |
方法
Dispose() |
認可尚未排清的任何剩餘 JSON 文字,並釋出目前執行個體使用的所有資源。 |
DisposeAsync() |
以非同步方式認可尚未排清的任何剩餘 JSON 文字,並釋出目前執行個體使用的所有資源。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Flush() |
認可到目前為止所寫入的 JSON 文字,以便向輸出目的地顯示。 |
FlushAsync(CancellationToken) |
以非同步方式認可到目前為止所寫入的 JSON 文字,以便向輸出目的地顯示。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Reset() |
重設此執行個體的內部狀態,使其能重複使用。 |
Reset(IBufferWriter<Byte>) |
重設此執行個體的內部狀態,使其能重複用於 IBufferWriter<T> 的新執行個體。 |
Reset(Stream) |
重設此執行個體的內部狀態,使其能重複用於 Stream 的新執行個體。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
WriteBase64String(JsonEncodedText, ReadOnlySpan<Byte>) |
寫入預先編碼的屬性名稱和原始位元組值 (以 Base 64 編碼的 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 物件名稱/值組的一部分。 |
WriteBase64StringValue(ReadOnlySpan<Byte>) |
以 Base64 編碼 JSON 字串將原始位元組值寫入為 JSON 陣列元素。 |
WriteBoolean(JsonEncodedText, Boolean) |
寫入預先編碼的屬性名稱和 Boolean 值 (以 JSON 常值 true 或 false),作為 JSON 物件名稱/值組的一部分。 |
WriteBoolean(ReadOnlySpan<Byte>, Boolean) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 Boolean 值 (以 JSON 常值 true 或 false),作為 JSON 物件名稱/值組的一部分。 |
WriteBoolean(ReadOnlySpan<Char>, Boolean) |
寫入屬性名稱 (指定為唯讀字元範圍) 和 Boolean 值 (以 JSON 常值 true 或 false),作為 JSON 物件名稱/值組的一部分。 |
WriteBoolean(String, Boolean) |
寫入屬性名稱 (指定為字串) 和 Boolean 值 (以 JSON 常值 true 或 false),作為 JSON 物件名稱/值組的一部分。 |
WriteBooleanValue(Boolean) |
寫入 Boolean 值 (以 JSON 常值 true 或 false),作為 JSON 陣列的元素。 |
WriteCommentValue(ReadOnlySpan<Byte>) |
寫入 UTF-8 文字值作為 JSON 註解。 |
WriteCommentValue(ReadOnlySpan<Char>) |
寫入 UTF-16 文字值作為 JSON 註解。 |
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 常值 Null 寫入為 JSON 陣列的元素。 |
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 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, Double) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 Double 值 (以 JSON 數字),作為 JSON 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, Int32) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 Int32 值 (以 JSON 數字),作為 JSON 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, Int64) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 Int64 值 (以 JSON 數字),作為 JSON 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, Single) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 Single 值 (以 JSON 數字),作為 JSON 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, UInt32) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 UInt32 值 (以 JSON 數字),作為 JSON 物件名稱/值組的一部分。 |
WriteNumber(ReadOnlySpan<Byte>, UInt64) |
寫入屬性名稱 (指定為唯讀位元組範圍) 和 UInt64 值 (以 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 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(Double) |
寫入 Double 值 (以 JSON 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(Int32) |
寫入 Int32 值 (以 JSON 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(Int64) |
寫入 Int64 值 (以 JSON 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(Single) |
寫入 Single 值 (以 JSON 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(UInt32) |
寫入 UInt32 值 (以 JSON 數字),作為 JSON 陣列的項目。 |
WriteNumberValue(UInt64) |
寫入 UInt64 值 (以 JSON 數字),作為 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) |
寫入屬性名稱 (指定為唯讀字元範圍) 和 DateTime 值 (以 JSON 字串),作為 JSON 物件名稱/值組的一部分。 |
WriteString(ReadOnlySpan<Char>, DateTimeOffset) |
寫入屬性名稱 (指定為唯讀字元範圍) 和 DateTimeOffset 值 (以 JSON 字串),作為 JSON 物件名稱/值組的一部分。 |
WriteString(ReadOnlySpan<Char>, Guid) |
寫入屬性名稱 (指定為唯讀字元範圍) 和 Guid 值 (以 JSON 字串),作為 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 字串),作為 JSON 陣列的項目。 |
WriteStringValue(DateTimeOffset) |
寫入 DateTimeOffset 值 (以 JSON 字串),作為 JSON 陣列的項目。 |
WriteStringValue(Guid) |
寫入 Guid 值 (以 JSON 字串),作為 JSON 陣列的項目。 |
WriteStringValue(JsonEncodedText) |
寫入預先編碼的文字值 (以 JSON 字串),作為 JSON 陣列的元素。 |
WriteStringValue(ReadOnlySpan<Byte>) |
寫入 UTF-8 文字值 (以 JSON 字串),作為 JSON 陣列的項目。 |
WriteStringValue(ReadOnlySpan<Char>) |
寫入 UTF-16 文字值 (以 JSON 字串),作為 JSON 陣列的項目。 |
WriteStringValue(String) |
寫入字串文字值 (以 JSON 字串),作為 JSON 陣列的項目。 |
擴充方法
ConfigureAwait(IAsyncDisposable, Boolean) |
設定如何執行從非同步可處置項目傳回的工作 await。 |
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應