draft4.json 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. {
  2. "$schema": "http://json-schema.org/draft-04/schema#",
  3. "default": {},
  4. "definitions": {
  5. "positiveInteger": {
  6. "minimum": 0,
  7. "type": "integer"
  8. },
  9. "positiveIntegerDefault0": {
  10. "allOf": [
  11. {
  12. "$ref": "#/definitions/positiveInteger"
  13. },
  14. {
  15. "default": 0
  16. }
  17. ]
  18. },
  19. "schemaArray": {
  20. "items": {
  21. "$ref": "#"
  22. },
  23. "minItems": 1,
  24. "type": "array"
  25. },
  26. "simpleTypes": {
  27. "enum": [
  28. "array",
  29. "boolean",
  30. "integer",
  31. "null",
  32. "number",
  33. "object",
  34. "string"
  35. ]
  36. },
  37. "stringArray": {
  38. "items": {
  39. "type": "string"
  40. },
  41. "minItems": 1,
  42. "type": "array",
  43. "uniqueItems": true
  44. }
  45. },
  46. "dependencies": {
  47. "exclusiveMaximum": [
  48. "maximum"
  49. ],
  50. "exclusiveMinimum": [
  51. "minimum"
  52. ]
  53. },
  54. "description": "Core schema meta-schema",
  55. "id": "http://json-schema.org/draft-04/schema#",
  56. "properties": {
  57. "$schema": {
  58. "format": "uri",
  59. "type": "string"
  60. },
  61. "additionalItems": {
  62. "anyOf": [
  63. {
  64. "type": "boolean"
  65. },
  66. {
  67. "$ref": "#"
  68. }
  69. ],
  70. "default": {}
  71. },
  72. "additionalProperties": {
  73. "anyOf": [
  74. {
  75. "type": "boolean"
  76. },
  77. {
  78. "$ref": "#"
  79. }
  80. ],
  81. "default": {}
  82. },
  83. "allOf": {
  84. "$ref": "#/definitions/schemaArray"
  85. },
  86. "anyOf": {
  87. "$ref": "#/definitions/schemaArray"
  88. },
  89. "default": {},
  90. "definitions": {
  91. "additionalProperties": {
  92. "$ref": "#"
  93. },
  94. "default": {},
  95. "type": "object"
  96. },
  97. "dependencies": {
  98. "additionalProperties": {
  99. "anyOf": [
  100. {
  101. "$ref": "#"
  102. },
  103. {
  104. "$ref": "#/definitions/stringArray"
  105. }
  106. ]
  107. },
  108. "type": "object"
  109. },
  110. "description": {
  111. "type": "string"
  112. },
  113. "enum": {
  114. "type": "array"
  115. },
  116. "exclusiveMaximum": {
  117. "default": false,
  118. "type": "boolean"
  119. },
  120. "exclusiveMinimum": {
  121. "default": false,
  122. "type": "boolean"
  123. },
  124. "format": {
  125. "type": "string"
  126. },
  127. "id": {
  128. "format": "uri",
  129. "type": "string"
  130. },
  131. "items": {
  132. "anyOf": [
  133. {
  134. "$ref": "#"
  135. },
  136. {
  137. "$ref": "#/definitions/schemaArray"
  138. }
  139. ],
  140. "default": {}
  141. },
  142. "maxItems": {
  143. "$ref": "#/definitions/positiveInteger"
  144. },
  145. "maxLength": {
  146. "$ref": "#/definitions/positiveInteger"
  147. },
  148. "maxProperties": {
  149. "$ref": "#/definitions/positiveInteger"
  150. },
  151. "maximum": {
  152. "type": "number"
  153. },
  154. "minItems": {
  155. "$ref": "#/definitions/positiveIntegerDefault0"
  156. },
  157. "minLength": {
  158. "$ref": "#/definitions/positiveIntegerDefault0"
  159. },
  160. "minProperties": {
  161. "$ref": "#/definitions/positiveIntegerDefault0"
  162. },
  163. "minimum": {
  164. "type": "number"
  165. },
  166. "multipleOf": {
  167. "exclusiveMinimum": true,
  168. "minimum": 0,
  169. "type": "number"
  170. },
  171. "not": {
  172. "$ref": "#"
  173. },
  174. "oneOf": {
  175. "$ref": "#/definitions/schemaArray"
  176. },
  177. "pattern": {
  178. "format": "regex",
  179. "type": "string"
  180. },
  181. "patternProperties": {
  182. "additionalProperties": {
  183. "$ref": "#"
  184. },
  185. "default": {},
  186. "type": "object"
  187. },
  188. "properties": {
  189. "additionalProperties": {
  190. "$ref": "#"
  191. },
  192. "default": {},
  193. "type": "object"
  194. },
  195. "required": {
  196. "$ref": "#/definitions/stringArray"
  197. },
  198. "title": {
  199. "type": "string"
  200. },
  201. "type": {
  202. "anyOf": [
  203. {
  204. "$ref": "#/definitions/simpleTypes"
  205. },
  206. {
  207. "items": {
  208. "$ref": "#/definitions/simpleTypes"
  209. },
  210. "minItems": 1,
  211. "type": "array",
  212. "uniqueItems": true
  213. }
  214. ]
  215. },
  216. "uniqueItems": {
  217. "default": false,
  218. "type": "boolean"
  219. }
  220. },
  221. "type": "object"
  222. }