SnapshotConfig
The subset of a kotlinx.serialization.json.Json configuration that affects the wire shape or decode behavior, captured as part of a Snapshot so that config changes are diffed and classified like any other change (design §6).
Defaults mirror kotlinx-serialization's own Json defaults, so a snapshot built without an explicit config describes a stock Json {} instance.
Constructors
Properties
Whether the reader accepts C/Java-style comments.
Whether NaN/Infinity are written and accepted (otherwise encode and decode both throw).
Whether maps with non-primitive (structured) keys are allowed, written as a flat [k1,v1,k2,v2] array. Without it such maps can be neither encoded nor decoded.
Whether the reader accepts a trailing comma in objects and arrays.
Discriminator key for polymorphic types.
Whether/where the class discriminator is emitted (POLYMORPHIC, NONE, ALL_JSON_OBJECTS). Setting it to NONE drops the discriminator entirely, which is a breaking change for polymorphic decoding.
Whether invalid/absent values are coerced to defaults on read.
Whether the reader matches enum constants case-insensitively.
Whether default values are written to the wire.
Whether nulls are written for nullable properties.
Whether the reader silently drops unknown keys.
Naming strategy applied to every key, or "none".
Whether @JsonNames alternative keys are honored on decode.
Whether polymorphic values are written/read as ["type",{...}] arrays instead of {"type":"type",...} objects. Each shape is rejected by a reader expecting the other.