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) |
将指定为字节的只读范围和 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。 |