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 实例复制到新实例。

属性

名称 说明
AllowDuplicateProperties

获取或设置一个值,该值指示反序列化 JSON 对象时是否允许重复的属性名称。

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

获取或设置在何时true使用WriteIndented的新行字符串。

默认为 NewLine 的值。

NumberHandling

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

PreferredObjectCreationHandling

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

PropertyNameCaseInsensitive

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

PropertyNamingPolicy

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

ReadCommentHandling

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

ReferenceHandler

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

RespectNullableAnnotations

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

RespectRequiredConstructorParameters

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

Strict

获取使用该严格配置的只读单一实例 JsonSerializerOptions

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)

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

GetTypeInfo<T>()

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

MakeReadOnly()

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

MakeReadOnly(Boolean)

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

MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

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

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

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

TryGetTypeInfo<T>(JsonTypeInfo<T>)

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

扩展方法

名称 说明
AddAIContentType(JsonSerializerOptions, Type, String)

将自定义内容类型添加到多态配置中 AIContent

AddAIContentType<TContent>(JsonSerializerOptions, String)

将自定义内容类型添加到多态配置中 AIContent

GetJsonSchemaAsNode(JsonSerializerOptions, Type, JsonSchemaExporterOptions)

生成与指定类型的协定元数据对应的 JSON 架构。

适用于