JSON Schema menjelaskan bentuk data JSON dan memvalidasi dokumen otomatis.
type membatasi tipe. properties mendefinisikan field. required mencantumkan kunci wajib. items menjelaskan elemen array.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["name", "age"],
"properties": {
"name": {"type": "string"},
"age": {"type": "integer", "minimum": 0}
}
}
enum mengizinkan sekumpulan nilai tetap. const membutuhkan satu nilai.
{"role": {"enum": ["admin", "editor", "viewer"]}}
$ref menunjuk ke definisi lain agar dokumen kompleks tetap terpelihara.
{"$defs":{"id":{"type":"integer"},"type":"object","properties":{"id":{"$ref":"#/$defs/id"}}}