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.
- 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.