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>) |
将预编码属性名称和原始字节值(作为 Base64 编码的 JSON 字符串)编写为 JSON 对象的名称/值对的一部分。 |
WriteBase64String(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
将属性名称和原始字节值(作为 Base 64 编码的 JSON 字符串)写入 JSON 对象的名称/值对。 |
WriteBase64String(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
将属性名称和原始字节值(作为 Base 64 编码的 JSON 字符串)写入 JSON 对象的名称/值对。 |
WriteBase64String(String, ReadOnlySpan<Byte>) |
将属性名称和原始字节值(作为 Base 64 编码的 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) |
配置如何执行从异步可处置项返回的任务的等待。 |
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈