1. Basic Anatomy of a JSON Schema

A standard JSON Schema is itself a valid JSON document defining the `$schema` specification version, `type` declaration, `properties` object mapping, and `required` property list.

User Registration JSON Schema Example
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "UserRegistration",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "minimum": 1
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": ["admin", "developer", "guest"]
    }
  },
  "required": ["user_id", "email", "role"],
  "additionalProperties": false
}
Explanation: `additionalProperties: false` prevents clients from injecting unexpected extra keys into the payload.

2. Enforcing String Patterns, Ranges & Array Constraints

JSON Schema supports fine-grained constraint validation rules including string regex `pattern`, string `minLength`/`maxLength`, numeric `minimum`/`maximum`, and array `minItems`/`uniqueItems`.

Advanced Property Constraints
{
  "username": {
    "type": "string",
    "minLength": 3,
    "maxLength": 20,
    "pattern": "^[a-zA-Z0-9_]+$"
  },
  "tags": {
    "type": "array",
    "minItems": 1,
    "uniqueItems": true,
    "items": { "type": "string" }
  }
}
Explanation: `pattern` enforces alphanumeric usernames, while `uniqueItems: true` prevents duplicate array items.

3. Validating JSON Schemas in JavaScript with Ajv

In Node.js and modern Web apps, Ajv (Another JSON Schema Validator) is the industry standard high-speed validator library:

Ajv Schema Validation in Node.js
const Ajv = require("ajv");
const ajv = new Ajv();

const schema = {
  type: "object",
  properties: { id: { type: "number" } },
  required: ["id"]
};

const validate = ajv.compile(schema);
const valid = validate({ id: 101 });

if (!valid) console.log(validate.errors);
else console.log("Payload is 100% valid!");
Explanation: Ajv compiles JSON schemas into fast JIT JavaScript code for API request validation at runtime.