The home of JSON Schema validation right in your browser 🚧 Alpha 🚧 draft-7 only
Valid JSON:
xxxxxxxxxx
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "integer",
"description": "Metadata file version"
},
"tools": {
"type": "array",
"description": "List of tools",
"items": {
"$ref": "#/definitions/toolInfo"
}
}
},
"required": [
"version",
"tools"
],
"definitions": {
"toolInfo": {
"type": "object",
"description": "Information about one tool",
"properties": {
"name": {
"description": "Tool name",
"type": "string"
},
"description": {
"description": "A short (one sentence) description of the tool.",
"type": "string"
},
"versions": {
"type": "array",
"description": "List of versions",
"items": {
"$ref": "#/definitions/versionInfo"
}
}
},
"required": [
"versions"
]
},
"versionInfo": {
"type": "object",
"properties": {
"name": {
"description": "Version ...",
"type": "string"
},
"status": {
"description": "Determines whether the version is recommended/supported/deprecated",
"type": "string",
"enum": [
"recommended",
"supported",
"deprecated"
]
},
"linux-i686": {
"$ref": "#/definitions/platformDownloadInfo"
},
"linux-amd64": {
"$ref": "#/definitions/platformDownloadInfo"
},
"linux-armel": {
"$ref": "#/definitions/platformDownloadInfo"
},
"linux-arm64": {
"$ref": "#/definitions/platformDownloadInfo"
},
"macos": {
"$ref": "#/definitions/platformDownloadInfo"
},
"win32": {
"$ref": "#/definitions/platformDownloadInfo"
},
"win64": {
"$ref": "#/definitions/platformDownloadInfo"
},
"any": {
"$ref": "#/definitions/platformDownloadInfo"
}
}
},
"platformDownloadInfo": {
"description": "Information about download artifact for one platform",
"type": "object",
"properties": {
"sha256": {
"type": "string",
"description": "SHA256 sum of the file"
},
"size": {
"type": "integer",
"description": "Size of the file, in bytes"
},
"url": {
"type": "string",
"description": "Download URL"
},
"rename_dist": {
"type": "string",
"description": "Filename under which the archive should be downloaded"
}
},
"required": [
"sha256",
"url",
"size"
]
}
},
"if": {
"properties": {
"version": {
"const": 1
}
}
},
"then": {
"properties": {
"tools": {
"items": {
"properties": {
"versions": {
"items": {
"additionalProperties": {
"not": {
"required": [
"rename_dist"
]
}
}
}
}
}
}
}
}
}
}
Valid JSON:
xxxxxxxxxx
{
"tools": [
{
"description": "Ninja build system",
"name": "ninja",
"versions": [
{
"linux-amd64": {
"rename_dist": "ninja-linux-v1.11.1.zip",
"sha256": "b901ba96e486dce377f9a070ed4ef3f79deb45f4ffe2938f8e7ddc69cfb3df77",
"size": 119463,
"url": "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip"
},
"macos": {
"rename_dist": "ninja-mac-v1.11.1.zip",
"sha256": "482ecb23c59ae3d4f158029112de172dd96bb0e97549c4b1ca32d8fad11f873e",
"size": 277306,
"url": "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-mac.zip"
},
"macos-arm64": {
"rename_dist": "ninja-mac-v1.11.1.zip",
"sha256": "482ecb23c59ae3d4f158029112de172dd96bb0e97549c4b1ca32d8fad11f873e",
"size": 277306,
"url": "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-mac.zip"
},
"name": "1.11.1",
"status": "recommended",
"win64": {
"rename_dist": "ninja-win-v1.11.1.zip",
"sha256": "524b344a1a9a55005eaf868d991e090ab8ce07fa109f1820d40e74642e289abc",
"size": 285922,
"url": "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip"
}
}
]
},
{
"description": "XXXX",
"name": "x-exe",
"versions": [
{
"name": "1.0.3",
"status": "recommended",
"win32": {
"sha256": "7c81ef534c562354a5402ab6b90a6eb1cc8473a9f4a7b7a7f93ebbd23b4a2755",
"size": 73562,
"url": "https://github.com/espressif/xxx-exe-v1.0.3.zip"
},
"win64": {
"sha256": "7c81ef534c562354a5402ab6b90a6eb1cc8473a9f4a7b7a7f93ebbd23b4a2755",
"size": 73562,
"url": "https://github.com/espressif/xxx-exe-v1.0.3.zip"
}
}
]
}
],
"version": 2
}
​
jsonschema.dev@relequestual Thanks to Sponsors: