JSON Validation

Validating JSON structure and content

JSON Schema

{
    "type": "object",
    "properties": {
        "name": { "type": "string" },
        "age": { "type": "number" }
    },
    "required": ["name"]
} # define schema

Required Fields

{
    "type": "object",
    "required": ["name", "email"]
} # require properties

Type Validation

"type": "string" # must be string
"type": "number" # must be number
"type": "integer" # must be integer
"type": "boolean" # must be boolean
"type": "array" # must be array
"type": "object" # must be object

String Constraints

"minLength": 3 # minimum length
"maxLength": 100 # maximum length
"pattern": "^[A-Z].*" # regex pattern

Number Constraints

"minimum": 0 # minimum value
"maximum": 100 # maximum value
"multipleOf": 5 # must be multiple of 5

Array Constraints

"minItems": 1 # minimum items
"maxItems": 10 # maximum items
"uniqueItems": true # all items unique

Enum Values

{
    "type": "string",
    "enum": ["red", "green", "blue"]
} # allowed values