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.
Compatible with JsonNamingStrategy.SnakeCase: field names are matched against both their declared form and their snake_case form, and the additional-properties key is emitted in the form that matches the payload's naming so the inner serializer can read it back.
Parameters
tSerializer
Underlying serializer for type T.
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")