AdditionalPropertiesFlatteningSerializer

abstract class AdditionalPropertiesFlatteningSerializer<T>(tSerializer: KSerializer<T>, additionalPropertiesField: String = "additionalProperties") : JsonTransformingSerializer<T> (source)

JSON serializer that handles additional properties in objects.

On serialization: flattens additionalProperties to root level. On deserialization: collects unknown properties into additionalProperties field.

Parameters

knownProperties

Set of known property names for the type

additionalPropertiesField

The name of the field to use for additional properties, defaults to "additionalProperties".

Constructors

Link copied to clipboard
constructor(tSerializer: KSerializer<T>, additionalPropertiesField: String = "additionalProperties")

Properties

Link copied to clipboard
open override val descriptor: SerialDescriptor

Functions

Link copied to clipboard
override fun deserialize(decoder: Decoder): T
Link copied to clipboard
override fun serialize(encoder: Encoder, value: T)