JsonSerializerOptions 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供可搭配 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 |
取得或設定編碼器,使其在逃離字串時使用,或 |
| IgnoreNullValues |
已淘汰.
取得或設定一個值,指示序列化與反序列化期間是否 |
| IgnoreReadOnlyFields |
取得或設定一個值,指示序列化過程中是否忽略唯讀欄位。 若欄位標示為 |
| IgnoreReadOnlyProperties |
取得或設定一個值,指示序列化過程中是否忽略唯讀屬性。 預設值為 |
| IncludeFields |
取得或設定一個值,指示欄位在序列化與反序列化期間是否被處理。
預設值為 |
| IndentCharacter |
定義啟用時 WriteIndented 所使用的縮排字元。 預設是太空角色。 |
| IndentSize |
定義啟用時 WriteIndented 所使用的縮排大小。 預設是二。 |
| IsReadOnly |
會獲得一個值,表示目前實例是否被鎖定以供使用者修改。 |
| MaxDepth |
在序列化或反序列化 JSON 時,取得或設定最大深度,預設值為 0 表示最大深度為 64。 |
| NewLine |
當 是 預設為 NewLine 的值。 |
| NumberHandling |
取得或設定一個物件,指定序列化或反序列化時數字型別應如何處理。 |
| PreferredObjectCreationHandling |
在反序列化 JSON 時,取得或設定屬性的首選物件建立處理。 |
| PropertyNameCaseInsensitive |
取得或設定一個值,指示屬性名稱在反序列化過程中是否使用大小寫不區分的比較。 預設值為 |
| PropertyNamingPolicy |
取得或設定一個值,指定將物件上屬性名稱轉換為其他格式(如駱駝套管 |
| 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 架構。 |