System.Text.Json.Serialization Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Contains classes that are used to customize and extend serialization and deserialization of objects into JSON formatted documents or streams, either via an attribute model or via type converters.
Classes
BinaryDataJsonConverter |
Serializes BinaryData instances as Base64 JSON strings. |
JsonAttribute |
Provides the base class for serialization attributes. |
JsonConstructorAttribute |
When placed on a constructor, indicates that the constructor should be used to create instances of the type on deserialization. |
JsonConverter |
Converts an object or value to or from JSON. |
JsonConverter<T> |
Converts an object or value to or from JSON. |
JsonConverterAttribute |
When placed on a property or type, specifies the converter type to use. |
JsonConverterFactory |
Supports converting several types by using a factory pattern. |
JsonDerivedTypeAttribute |
When placed on a type declaration, indicates that the specified subtype should be opted into polymorphic serialization. |
JsonExtensionDataAttribute |
When placed on a property of type IDictionary<TKey,TValue>, any properties that do not have a matching member are added to that dictionary during deserialization and written during serialization. |
JsonIgnoreAttribute |
Prevents a property from being serialized or deserialized. |
JsonIncludeAttribute |
Indicates that the member should be included for serialization and deserialization. |
JsonNumberEnumConverter<TEnum> |
Converter to convert enums to and from numeric values. |
JsonNumberHandlingAttribute |
When placed on a type, property, or field, indicates what JsonNumberHandling settings should be used when serializing or deserializing numbers. |
JsonObjectCreationHandlingAttribute |
Determines how deserialization handles object creation for fields or properties. |
JsonPolymorphicAttribute |
When placed on a type, indicates that the type should be serialized polymorphically. |
JsonPropertyNameAttribute |
Specifies the property name that is present in the JSON when serializing and deserializing. |
JsonPropertyOrderAttribute |
Specifies the property order that is present in the JSON when serializing. Lower values are serialized first. If the attribute is not specified, the default value is 0. |
JsonRequiredAttribute |
Indicates that the annotated member must bind to a JSON property on deserialization. |
JsonSerializableAttribute |
Instructs the System.Text.Json source generator to generate source code to help optimize performance when serializing and deserializing instances of the specified type and types in its object graph. |
JsonSerializerContext |
Provides metadata about a set of types that is relevant to JSON serialization. |
JsonSourceGenerationOptionsAttribute |
Instructs the System.Text.Json source generator to assume the specified options will be used at run time via JsonSerializerOptions. |
JsonStringEnumConverter |
Converts enumeration values to and from strings. |
JsonStringEnumConverter<TEnum> |
Converter to convert enums to and from strings. |
JsonStringEnumMemberNameAttribute | |
JsonUnmappedMemberHandlingAttribute |
When placed on a type, determines the JsonUnmappedMemberHandling configuration for the specific type, overriding the global UnmappedMemberHandling setting. |
ReferenceHandler |
Defines how the JsonSerializer deals with references on serialization and deserialization. |
ReferenceHandler<T> |
Defines how the JsonSerializer deals with references on serialization and deserialization. |
ReferenceResolver |
Defines how the JsonSerializer deals with references on serialization and deserialization. Defines the core behavior of preserving references on serialization and deserialization. |
Interfaces
IJsonOnDeserialized |
Specifies that the JSON type should have its OnDeserialized() method called after deserialization occurs. |
IJsonOnDeserializing |
Specifies that the type should have its OnDeserializing() method called before deserialization occurs. |
IJsonOnSerialized |
Specifies that the type should have its OnSerialized() method called after serialization occurs. |
IJsonOnSerializing |
Specifies that the type should have its OnSerializing() method called before serialization occurs. |
Enums
JsonIgnoreCondition |
Controls how the JsonIgnoreAttribute ignores properties on serialization and deserialization. |
JsonKnownNamingPolicy |
The JsonNamingPolicy to be used at run time. |
JsonNumberHandling |
Determines how JsonSerializer handles numbers when serializing and deserializing. |
JsonObjectCreationHandling |
Determines how deserialization will handle object creation for fields or properties. |
JsonSourceGenerationMode |
The generation mode for the System.Text.Json source generator. |
JsonUnknownDerivedTypeHandling |
Defines how objects of a derived runtime type that has not been explicitly declared for polymorphic serialization should be handled. |
JsonUnknownTypeHandling |
Defines how deserializing a type declared as an Object is handled during deserialization. |
JsonUnmappedMemberHandling |
Determines how JsonSerializer handles JSON properties that cannot be mapped to a specific .NET member when deserializing object types. |