JsonSerializerOptions 類別

定義

提供可搭配 JsonSerializer使用的選項。

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

備註

更多資訊請參閱 《如何序列化與反序列化 JSON》。

建構函式

名稱 Description
JsonSerializerOptions()

初始化 JsonSerializerOptions 類別的新執行個體。

JsonSerializerOptions(JsonSerializerDefaults)

構造 JsonSerializerOptions 一個新實例,包含由指定 JsonSerializerDefaults選項決定的預定義選項集合。

JsonSerializerOptions(JsonSerializerOptions)

將一個實例的 JsonSerializerOptions 選項複製到新的實例。

屬性

名稱 Description
AllowDuplicateProperties

取得或設定一個值,指示在反序列化 JSON 物件時是否允許重複屬性名稱。

AllowOutOfOrderMetadataProperties

取得或設定一個值,指示是否可以在反序列化的 JSON 物件中,在一般屬性之後指定 JSON 元資料屬性。

AllowTrailingCommas

取得或設定一個值,指示在物件或陣列中 JSON 值列表末尾是否允許(且被忽略)在被反序列化的 JSON 有效載荷中加入額外的逗號。

Converters

取得已註冊的使用者定義轉換器清單。

Default

會得到一個只讀的單例 JsonSerializerOptions ,使用預設配置。

DefaultBufferSize

取得或設定預設緩衝區大小(位元組),用於建立暫存緩衝區。

DefaultIgnoreCondition

取得或設定一個值,決定序列化或反序列化時忽略預設值的屬性。 預設值為 Never

DictionaryKeyPolicy

取得或設定將金鑰名稱轉換 IDictionary 成其他格式(如 camel-casing)的策略。

Encoder

取得或設定編碼器,使其在逃離字串時使用,或 null 使用預設編碼器。

IgnoreNullValues
已淘汰.

取得或設定一個值,指示序列化與反序列化期間是否 null 忽略值。 預設值為 false

IgnoreReadOnlyFields

取得或設定一個值,指示序列化過程中是否忽略唯讀欄位。 若欄位標示為 readonly 關鍵字,則該欄位為唯讀。 預設值為 false

IgnoreReadOnlyProperties

取得或設定一個值,指示序列化過程中是否忽略唯讀屬性。 預設值為 false

IncludeFields

取得或設定一個值,指示欄位在序列化與反序列化期間是否被處理。 預設值為 false

IndentCharacter

定義啟用時 WriteIndented 所使用的縮排字元。 預設是太空角色。

IndentSize

定義啟用時 WriteIndented 所使用的縮排大小。 預設是二。

IsReadOnly

會獲得一個值,表示目前實例是否被鎖定以供使用者修改。

MaxDepth

在序列化或反序列化 JSON 時,取得或設定最大深度,預設值為 0 表示最大深度為 64。

NewLine

當 是 true時,會取得或設定新的行串以使用WriteIndented

預設為 NewLine 的值。

NumberHandling

取得或設定一個物件,指定序列化或反序列化時數字型別應如何處理。

PreferredObjectCreationHandling

在反序列化 JSON 時,取得或設定屬性的首選物件建立處理。

PropertyNameCaseInsensitive

取得或設定一個值,指示屬性名稱在反序列化過程中是否使用大小寫不區分的比較。 預設值為 false

PropertyNamingPolicy

取得或設定一個值,指定將物件上屬性名稱轉換為其他格式(如駱駝套管 null )或保持屬性名稱不變的策略。

ReadCommentHandling

取得或設定一個值,定義在反序列化過程中註解的處理方式。

ReferenceHandler

取得或設定一個物件,指定在讀寫 JSON 時如何處理物件參考。

RespectNullableAnnotations

取得或設定一個值,指示序列化與反序列化時是否應尊重空可性註解。

RespectRequiredConstructorParameters

取得或設定一個值,指示在反序列化過程中是否應指定非可選建構參數。

Strict

會得到一個只讀的單例 JsonSerializerOptions ,使用嚴格配置。

TypeInfoResolver

取得或設定 JsonTypeInfo 此實例所使用的合約解析器。

TypeInfoResolverChain

取得本實例使用的鏈式 JsonTypeInfo 合約解析器清單。

UnknownTypeHandling

取得或設定一個物件,指定在反序列化過程中如何處理被宣告為 的 Object 型別的反序列化。

UnmappedMemberHandling

取得或設定一個物件,指定 JsonSerializer 如何處理無法映射到特定 .NET 成員的 JSON 屬性,當反序列化物件類型時。

Web

會取得一個唯讀、單例的實例 JsonSerializerOptions ,使用網頁設定。

WriteIndented

取得或設定一個值,指示 JSON 是否應該使用漂亮的印刷。 預設情況下,JSON 會序列化且沒有額外的留白。

方法

名稱 Description
AddContext<TContext>()
已淘汰.

在目前JsonSerializerOptions實例的元資料解析中附加一個新JsonSerializerContext內容。

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使用的選項。

擴充方法

名稱 Description
AddAIContentType(JsonSerializerOptions, Type, String)

為 的 AIContent多態性配置新增自訂內容類型。

AddAIContentType<TContent>(JsonSerializerOptions, String)

為 的 AIContent多態性配置新增自訂內容類型。

GetJsonSchemaAsNode(JsonSerializerOptions, Type, JsonSchemaExporterOptions)

產生對應指定類型的合約元資料的 JSON 架構。

適用於