skema

Object

@Serializable
@SerialName(value = "Object")
data class Object(val properties: Map<String, JsonSpec> = emptyMap(), val required: List<String> = emptyList(), val additionalPropertiesAllowed: Boolean? = null, val additionalPropertiesSpec: JsonSpec? = null, val minProperties: Int? = null, val maxProperties: Int? = null) : JsonSpec(source)

Object with named properties. additionalPropertiesAllowed gates extras; set additionalPropertiesSpec to constrain extras to a schema instead of a boolean. If both are set, the spec wins.

Constructors

Object

constructor(properties: Map<String, JsonSpec> = emptyMap(), required: List<String> = emptyList(), additionalPropertiesAllowed: Boolean? = null, additionalPropertiesSpec: JsonSpec? = null, minProperties: Int? = null, maxProperties: Int? = null)(source)

Properties

additionalPropertiesAllowed

Whether properties not listed in properties are allowed. Default true (per JSON Schema).

additionalPropertiesSpec

Spec that all additional (unlisted) properties must match.

maxProperties

Maximum number of properties.

minProperties

Minimum number of properties.

properties

Named properties and their specs.

required

Property names that must be present.