JsonSerializerOptions 类

定义

提供与 JsonSerializer一起使用的选项。

public ref class JsonSerializerOptions sealed
public sealed class JsonSerializerOptions
type JsonSerializerOptions = class
Public NotInheritable Class JsonSerializerOptions
继承
JsonSerializerOptions

注解

有关详细信息,请参阅 如何序列化和反序列化 JSON

构造函数

JsonSerializerOptions()

初始化 JsonSerializerOptions 类的新实例。

JsonSerializerOptions(JsonSerializerDefaults)

使用由指定的 JsonSerializerDefaults确定的预定义选项集构造新的 JsonSerializerOptions 实例。

JsonSerializerOptions(JsonSerializerOptions)

JsonSerializerOptions 实例中的选项复制到新实例。

属性

AllowOutOfOrderMetadataProperties

允许在反序列化 JSON 对象中的常规属性之后指定 JSON 元数据属性。

AllowTrailingCommas

获取或设置一个值,该值指示是否允许反序列化 JSON 有效负载中的 JSON 值列表末尾的额外逗号(并忽略)。

Converters

获取已注册的用户定义转换器的列表。

Default

获取使用默认配置的 JsonSerializerOptions 的只读单一实例。

DefaultBufferSize

获取或设置创建临时缓冲区时要使用的默认缓冲区大小(以字节为单位)。

DefaultIgnoreCondition

获取或设置一个值,该值确定序列化或反序列化期间何时忽略具有默认值的属性。 默认值为 Never

DictionaryKeyPolicy

获取或设置用于将 IDictionary 键名称转换为另一种格式的策略,例如 camel 大小写。

Encoder

获取或设置转义字符串时要使用的编码器,或 null 使用默认编码器。

IgnoreNullValues
已过时.

获取或设置一个值,该值指示序列化和反序列化期间是否忽略 null 值。 默认值为 false

IgnoreReadOnlyFields

获取或设置一个值,该值指示序列化期间是否忽略只读字段。 如果字段使用 readonly 关键字进行标记,则字段为只读。 默认值为 false

IgnoreReadOnlyProperties

获取一个值,该值指示序列化期间是否忽略只读属性。 默认值为 false

IncludeFields

获取或设置一个值,该值指示是否在序列化和反序列化期间处理字段。 默认值为 false

IndentCharacter

定义启用 WriteIndented 时使用的缩进字符。 默认为空格字符。

IndentSize

定义启用 WriteIndented 时使用的缩进大小。 默认值为 2。

IsReadOnly

获取一个值,该值指示当前实例是否已锁定以供用户修改。

MaxDepth

获取或设置序列化或反序列化 JSON 时允许的最大深度,默认值为 0,表示最大深度为 64。

NewLine

获取或设置 WriteIndentedtrue时要使用的新行字符串。

默认值为 NewLine的值。

NumberHandling

获取或设置一个对象,该对象指定序列化或反序列化时应如何处理数字类型。

PreferredObjectCreationHandling

获取或设置反序列化 JSON 时属性的首选对象创建处理。

PropertyNameCaseInsensitive

获取或设置一个值,该值指示属性的名称在反序列化期间是否使用不区分大小写的比较。 默认值为 false

PropertyNamingPolicy

获取或设置一个值,该值指定用于将对象上的属性名称转换为其他格式的策略,例如 camel 大小写,或 null 使属性名称保持不变。

ReadCommentHandling

获取或设置一个值,该值定义反序列化期间如何处理注释。

ReferenceHandler

获取或设置一个对象,该对象指定在读取和写入 JSON 时如何处理对象引用。

RespectNullableAnnotations

获取或设置一个值,该值指示在序列化和反序列化期间是否应遵循可为 null 性注释。

RespectRequiredConstructorParameters

获取或设置一个值,该值指示是否应在反序列化期间指定非可选构造函数参数。

TypeInfoResolver

获取或设置此实例使用的 JsonTypeInfo 协定解析程序。

TypeInfoResolverChain

获取此实例使用的已链接 JsonTypeInfo 协定解析程序的列表。

UnknownTypeHandling

获取或设置一个对象,该对象指定反序列化期间如何处理声明为 Object 的类型。

UnmappedMemberHandling

获取或设置一个对象,该对象指定 JsonSerializer 如何处理在反序列化对象类型时无法映射到特定 .NET 成员的 JSON 属性。

Web

获取使用 Web 配置的 JsonSerializerOptions 的只读单一实例。

WriteIndented

获取或设置一个值,该值指示 JSON 是否应使用漂亮的打印。 默认情况下,JSON 已序列化,无需任何额外的空格。

方法

AddContext<TContext>()
已过时.

将新的 JsonSerializerContext 追加到当前 JsonSerializerOptions 实例的元数据解析中。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetConverter(Type)

返回指定类型的转换器。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
GetTypeInfo(Type)

获取由当前 JsonSerializerOptions 实例解析的 JsonTypeInfo 协定元数据。

MakeReadOnly()

将当前实例标记为只读,以防止进一步修改用户。

MakeReadOnly(Boolean)

将当前实例标记为只读,以防止进一步修改用户。

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
TryGetTypeInfo(Type, JsonTypeInfo)

尝试获取由当前 JsonSerializerOptions 实例解析的 JsonTypeInfo 协定元数据。

扩展方法

GetJsonSchemaAsNode(JsonSerializerOptions, Type, JsonSchemaExporterOptions)

获取 type 作为 JsonNode 文档的 JSON 架构。

适用于