JSON Schema
JSON Schema is a vocabulary and specification for defining the structure, content, and semantics of JSON documents. It allows for automated validation, documentation, and data governance.
JSON Schema acts as a blueprint for your JSON data. It's a powerful tool used to describe and validate the structure of JSON objects. By defining a schema, you ensure that any incoming data meets expected formats and business rules — which is especially important in API development, form validation, and configuration files.
With JSON Schema, you can:
- Specify required and optional fields.
- Enforce strict data types such as
string
,number
,boolean
, orarray
. - Apply constraints like minimum/maximum values, string length limits, regex patterns, and value enums.
- Define the expected structure of nested objects and arrays.
- Enable automatic validation in tools and programming libraries.
Example Schema
The following JSON Schema defines a simple "Product" object with two required fields: productId
(a number) and productName
(a string).
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Product",
"type": "object",
"properties": {
"productId": { "type": "number" },
"productName": { "type": "string" }
},
"required": ["productId", "productName"]
}
JSON Schema is widely supported in tools like OpenAPI, AJV (Another JSON Schema Validator), and many backend languages such as Python, Node.js, and Java. It's a foundational technology in modern backend and frontend data validation.