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 撰寫自定義串行化程式和還原串行化程式。
建構函式
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>) |
寫入預先編碼的屬性名稱和原始位元組值(做為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 物件名稱/值組的一部分。 |
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) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Decimal 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, Double) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Double 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, Int32) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Int32 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, Int64) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Int64 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, Single) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Single 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, UInt32) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 UInt32 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Byte>, UInt64) |
寫入指定為唯讀位元組範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 UInt64 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, Decimal) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Decimal 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, Double) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Double 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, Int32) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Int32 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, Int64) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Int64 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, Single) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 Single 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, UInt32) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 UInt32 值(以 JSON 數位形式)。 |
WriteNumber(ReadOnlySpan<Char>, UInt64) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 JSON 物件名稱/值組的一部分 UInt64 值(以 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) |
寫入指定為唯讀字元範圍的屬性名稱,以及作為 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 字串形式)寫入為 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) |
設定如何執行從異步可處置專案傳回的工作等候。 |