JsonSerializerOptions Class

Definition

Provides options to be used with JsonSerializer.

public sealed class JsonSerializerOptions
Inheritance
JsonSerializerOptions

Remarks

For more information, see How to serialize and deserialize JSON.

Constructors

JsonSerializerOptions()

Initializes a new instance of the JsonSerializerOptions class.

JsonSerializerOptions(JsonSerializerDefaults)

Constructs a new JsonSerializerOptions instance with a predefined set of options determined by the specified JsonSerializerDefaults.

JsonSerializerOptions(JsonSerializerOptions)

Copies the options from a JsonSerializerOptions instance to a new instance.

Properties

AllowOutOfOrderMetadataProperties

Allows JSON metadata properties to be specified after regular properties in a deserialized JSON object.

AllowTrailingCommas

Get or sets a value that indicates whether an extra comma at the end of a list of JSON values in an object or array is allowed (and ignored) within the JSON payload being deserialized.

Converters

Gets the list of user-defined converters that were registered.

Default

Gets a read-only, singleton instance of JsonSerializerOptions that uses the default configuration.

DefaultBufferSize

Gets or sets the default buffer size, in bytes, to use when creating temporary buffers.

DefaultIgnoreCondition

Gets or sets a value that determines when properties with default values are ignored during serialization or deserialization. The default value is Never.

DictionaryKeyPolicy

Gets or sets the policy used to convert a IDictionary key's name to another format, such as camel-casing.

Encoder

Gets or sets the encoder to use when escaping strings, or null to use the default encoder.

IgnoreNullValues
Obsolete.

Gets or sets a value that indicates whether null values are ignored during serialization and deserialization. The default value is false.

IgnoreReadOnlyFields

Gets or sets a value that indicates whether read-only fields are ignored during serialization. A field is read-only if it is marked with the readonly keyword. The default value is false.

IgnoreReadOnlyProperties

Gets or sets a value that indicates whether read-only properties are ignored during serialization. The default value is false.

IncludeFields

Gets or sets a value that indicates whether fields are handled during serialization and deserialization. The default value is false.

IndentCharacter

Defines the indentation character being used when WriteIndented is enabled. Defaults to the space character.

IndentSize

Defines the indentation size being used when WriteIndented is enabled. Defaults to two.

IsReadOnly

Gets a value that indicates whether the current instance has been locked for user modification.

MaxDepth

Gets or sets the maximum depth allowed when serializing or deserializing JSON, with the default value of 0 indicating a maximum depth of 64.

NewLine

Gets or sets the new line string to use when WriteIndented is true.

The default is the value of NewLine.

NumberHandling

Gets or sets an object that specifies how number types should be handled when serializing or deserializing.

PreferredObjectCreationHandling

Gets or sets the preferred object creation handling for properties when deserializing JSON.

PropertyNameCaseInsensitive

Gets or sets a value that indicates whether a property's name uses a case-insensitive comparison during deserialization. The default value is false.

PropertyNamingPolicy

Gets or sets a value that specifies the policy used to convert a property's name on an object to another format, such as camel-casing, or null to leave property names unchanged.

ReadCommentHandling

Gets or sets a value that defines how comments are handled during deserialization.

ReferenceHandler

Gets or sets an object that specifies how object references are handled when reading and writing JSON.

RespectNullableAnnotations

Gets or sets a value that indicates whether nullability annotations should be respected during serialization and deserialization.

RespectRequiredConstructorParameters

Gets or sets a value that indicates whether non-optional constructor parameters should be specified during deserialization.

TypeInfoResolver

Gets or sets the JsonTypeInfo contract resolver used by this instance.

TypeInfoResolverChain

Gets the list of chained JsonTypeInfo contract resolvers used by this instance.

UnknownTypeHandling

Gets or sets an object that specifies how deserializing a type declared as an Object is handled during deserialization.

UnmappedMemberHandling

Gets or sets an object that specifies how JsonSerializer handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types.

Web

Gets a read-only, singleton instance of JsonSerializerOptions that uses the web configuration.

WriteIndented

Gets or sets a value that indicates whether JSON should use pretty printing. By default, JSON is serialized without any extra white space.

Methods

AddContext<TContext>()
Obsolete.

Appends a new JsonSerializerContext to the metadata resolution of the current JsonSerializerOptions instance.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetConverter(Type)

Returns the converter for the specified type.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetTypeInfo(Type)

Gets the JsonTypeInfo contract metadata resolved by the current JsonSerializerOptions instance.

MakeReadOnly()

Marks the current instance as read-only to prevent any further user modification.

MakeReadOnly(Boolean)

Marks the current instance as read-only preventing any further user modification.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
TryGetTypeInfo(Type, JsonTypeInfo)

Tries to get the JsonTypeInfo contract metadata resolved by the current JsonSerializerOptions instance.

Extension Methods

GetJsonSchemaAsNode(JsonSerializerOptions, Type, JsonSchemaExporterOptions)

Generates a JSON schema corresponding to the contract metadata of the specified type.

Applies to

Product Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8 (package-provided), 8, 9 (package-provided), 9
.NET Framework 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided)
.NET Standard 2.0 (package-provided)