mirror of
https://github.com/tristanpenman/valijson.git
synced 2024-12-12 18:20:27 +01:00
4c9864de73
This commit contains the third major design of a C++ library for JSON Schema validation. It is definitely not what I would consider production-ready, but I do think that the overall design of the library is robust.
174 lines
2.6 KiB
JSON
174 lines
2.6 KiB
JSON
{
|
|
"$schema" : "http://json-schema.org/draft-03/schema#",
|
|
"id" : "http://json-schema.org/draft-03/schema#",
|
|
"type" : "object",
|
|
|
|
"properties" : {
|
|
"type" : {
|
|
"type" : ["string", "array"],
|
|
"items" : {
|
|
"type" : ["string", {"$ref" : "#"}]
|
|
},
|
|
"uniqueItems" : true,
|
|
"default" : "any"
|
|
},
|
|
|
|
"properties" : {
|
|
"type" : "object",
|
|
"additionalProperties" : {"$ref" : "#"},
|
|
"default" : {}
|
|
},
|
|
|
|
"patternProperties" : {
|
|
"type" : "object",
|
|
"additionalProperties" : {"$ref" : "#"},
|
|
"default" : {}
|
|
},
|
|
|
|
"additionalProperties" : {
|
|
"type" : [{"$ref" : "#"}, "boolean"],
|
|
"default" : {}
|
|
},
|
|
|
|
"items" : {
|
|
"type" : [{"$ref" : "#"}, "array"],
|
|
"items" : {"$ref" : "#"},
|
|
"default" : {}
|
|
},
|
|
|
|
"additionalItems" : {
|
|
"type" : [{"$ref" : "#"}, "boolean"],
|
|
"default" : {}
|
|
},
|
|
|
|
"required" : {
|
|
"type" : "boolean",
|
|
"default" : false
|
|
},
|
|
|
|
"dependencies" : {
|
|
"type" : "object",
|
|
"additionalProperties" : {
|
|
"type" : ["string", "array", {"$ref" : "#"}],
|
|
"items" : {
|
|
"type" : "string"
|
|
}
|
|
},
|
|
"default" : {}
|
|
},
|
|
|
|
"minimum" : {
|
|
"type" : "number"
|
|
},
|
|
|
|
"maximum" : {
|
|
"type" : "number"
|
|
},
|
|
|
|
"exclusiveMinimum" : {
|
|
"type" : "boolean",
|
|
"default" : false
|
|
},
|
|
|
|
"exclusiveMaximum" : {
|
|
"type" : "boolean",
|
|
"default" : false
|
|
},
|
|
|
|
"minItems" : {
|
|
"type" : "integer",
|
|
"minimum" : 0,
|
|
"default" : 0
|
|
},
|
|
|
|
"maxItems" : {
|
|
"type" : "integer",
|
|
"minimum" : 0
|
|
},
|
|
|
|
"uniqueItems" : {
|
|
"type" : "boolean",
|
|
"default" : false
|
|
},
|
|
|
|
"pattern" : {
|
|
"type" : "string",
|
|
"format" : "regex"
|
|
},
|
|
|
|
"minLength" : {
|
|
"type" : "integer",
|
|
"minimum" : 0,
|
|
"default" : 0
|
|
},
|
|
|
|
"maxLength" : {
|
|
"type" : "integer"
|
|
},
|
|
|
|
"enum" : {
|
|
"type" : "array",
|
|
"minItems" : 1,
|
|
"uniqueItems" : true
|
|
},
|
|
|
|
"default" : {
|
|
"type" : "any"
|
|
},
|
|
|
|
"title" : {
|
|
"type" : "string"
|
|
},
|
|
|
|
"description" : {
|
|
"type" : "string"
|
|
},
|
|
|
|
"format" : {
|
|
"type" : "string"
|
|
},
|
|
|
|
"divisibleBy" : {
|
|
"type" : "number",
|
|
"minimum" : 0,
|
|
"exclusiveMinimum" : true,
|
|
"default" : 1
|
|
},
|
|
|
|
"disallow" : {
|
|
"type" : ["string", "array"],
|
|
"items" : {
|
|
"type" : ["string", {"$ref" : "#"}]
|
|
},
|
|
"uniqueItems" : true
|
|
},
|
|
|
|
"extends" : {
|
|
"type" : [{"$ref" : "#"}, "array"],
|
|
"items" : {"$ref" : "#"},
|
|
"default" : {}
|
|
},
|
|
|
|
"id" : {
|
|
"type" : "string",
|
|
"format" : "uri"
|
|
},
|
|
|
|
"$ref" : {
|
|
"type" : "string",
|
|
"format" : "uri"
|
|
},
|
|
|
|
"$schema" : {
|
|
"type" : "string",
|
|
"format" : "uri"
|
|
}
|
|
},
|
|
|
|
"dependencies" : {
|
|
"exclusiveMinimum" : "minimum",
|
|
"exclusiveMaximum" : "maximum"
|
|
},
|
|
|
|
"default" : {}
|
|
} |