Table of Contents

Namespace Nerdbank.Json

Classes

ConverterCollection

An immutable collection of concrete JSON converters.

ConverterTypeCollection

An immutable collection of JsonConverter<T> types.

DelegateUnionTypeAliasProvider

Supplies C# union case identifiers using a delegate that receives the union and payload types.

DerivedShapeMapping<TBase>

Describes a mapping between a base type and its known sub-types, along with the aliases that identify them.

DerivedTypeDuckTyping

Defines an experimental discriminator-free union identified by required serialized property names.

DerivedTypeMapping<TBase>

Describes a mapping between a base type and its known sub-types, along with the aliases that identify them.

DerivedTypeUnion

A non-generic abstract base class for a type union that is centered on a common base type.

DerivedTypeUnionCollection

An immutable collection of DerivedTypeUnion objects.

JsonArray

An immutable JSON array.

JsonAsyncReader

An incremental UTF-8 JSON reader that decodes from a PipeReader without buffering the entire document.

JsonAsyncWriter

An incremental UTF-8 JSON writer that writes to a PipeWriter and flushes periodically so large object graphs can be serialized with bounded memory and cooperative backpressure.

JsonBoolean

A JSON boolean value.

JsonConverter

Base type for JSON converters.

JsonConverterAttribute

Applies a custom JsonConverter<T> to a type or serialized member.

JsonConverterFactoryExtensions

Extension methods for converter factories.

JsonConverter<T>

Base type for JSON converters that handle a specific .NET type.

JsonNamingPolicy

Defines a transformation for property names from .NET to JSON.

JsonNull

The JSON null literal.

JsonNumber

A JSON number value that preserves the exact JSON token text so that no precision or formatting is lost.

JsonObject

An immutable JSON object that preserves member order.

JsonPath

An immutable, pre-parsed path that selects a single value within a JSON document for targeted deserialization.

JsonPathNotFoundException

The exception thrown when a targeted deserialization path selects a value that is not present in the document and Throw is in effect.

JsonPrimitives

Provides stateless UTF-8 JSON scalar encoding and decoding.

JsonSchemaContext

Drives generation of a JSON Schema document, resolving nested schemas, shared definitions, and recursive types. Provided to GetJsonSchema(JsonSchemaContext, ITypeShape) so custom converters can describe nested types consistently.

JsonSchemaOptions

Options for JSON Schema generation.

JsonSerializationException

Represents errors that occur during JSON serialization.

JsonSerializer

Serializes .NET values to JSON.

JsonSerializer.StreamingEnumerationOptions<TRoot, TElement>

Options for streaming a selected JSON array.

JsonSerializerExtensions

Extension methods for the JsonSerializer class.

JsonString

A JSON string value.

JsonValue

A compact, immutable, native representation of an arbitrary JSON value, usable without a static model.

OptionalConverters

Opt-in converters for dynamic objects and document models.

SecuritySettings

Security settings that may be applied to serialization.

UnionCaseMapping

A mapping of C# union payload types to custom identifiers.

UnionCaseMappingCollection

An immutable collection of per-union identifier mappings that supplies C# union case identifiers.

UnusedDataPacket

When used as the type of a property or field on a data type, captures deserialized JSON members that could not be assigned to a known property.

UseComparerAttribute

Selects the IEqualityComparer<T> or IComparer<T> that the deserializer uses when it constructs the collection for the decorated dictionary or set member.

Structs

ConverterContext

Provides converter lookup services while a IJsonConverterFactory is creating a converter.

ConverterTypeCollection.ConverterType

A converter type whose public constructors must be preserved when trimming.

DerivedTypeIdentifier

Identifies a derived type using a string or integer alias.

JsonReader

Reads JSON values from a UTF-8 byte buffer.

JsonSerializer.DeserializePathOptions<TRoot, TElement>

Options for selecting a value within a JSON document.

JsonSerializer.SequenceOptions

Specifies the framing for asynchronous JSON sequence serialization and deserialization.

JsonWriter

Writes JSON values to a UTF-8 buffer.

RawJson

Represents the exact UTF-8 bytes of a JSON value for deferred deserialization.

SerializationContext

Context that flows through the serialization process.

Interfaces

IJsonConverterFactory

Creates JsonConverter instances for types discovered at runtime.

IJsonSerializationCallbacks

Receives notifications immediately before an object is serialized and after it is deserialized.

IUnionTypeAliasProvider

Supplies custom identifiers for cases of C# unions.

Enums

DerivedTypeIdentifier.AliasType

The supported alias kinds.

DeserializeDefaultValuesPolicy

Enumerates policies that control how deserialization handles default values.

JsonCommentHandling

Specifies how JSON comments are handled during deserialization.

JsonPrimitives.DecodeResult

Identifies the outcome of a scalar decoding operation.

JsonSchemaDialect

Identifies a supported JSON Schema dialect.

JsonSequenceFormat

Specifies the framing used for a sequence of JSON values.

JsonSerializationException.ErrorCode

Specified causes for serialization or deserialization failure.

JsonValueKind

Identifies the kind of a JsonValue.

MissingPathBehavior

Controls what happens when a targeted deserialization path selects a value that is not present in the document.

MultiDimensionalArrayFormat

Enumerates the possible formats for serializing multi-dimensional arrays.

ReferencePreservationMode

Controls whether reference equality is preserved in serialized object graphs.

SerializeDefaultValuesPolicy

Specifies the policy for serializing default values.

Delegates

UnionCaseAliasResolver

Resolves a custom identifier for a case type within a particular C# union.