Advertisement
kentmaxwell

Sample JSON Schema

Mar 22nd, 2021 (edited)
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 1.53 KB | None | 0 0
  1. {
  2.   "$schema": "http://json-schema.org/draft-07/schema#",
  3.   "description": "Comment describing your JSON Schema",
  4.   "type": "object",
  5.   "properties": {
  6.     "EntityType": {
  7.       "type": "string",
  8.       "enum": [
  9.         "fish",
  10.         "car"
  11.       ]
  12.     }
  13.   },
  14.   "required": [
  15.     "EntityType"
  16.   ],
  17.   "if": {
  18.     "type": "object",
  19.     "properties": {
  20.       "EntityType": {
  21.         "type": "string",
  22.         "enum": [
  23.           "fish"
  24.         ]
  25.       }
  26.     },
  27.     "required": [
  28.       "EntityType"
  29.     ]
  30.   },
  31.   "then": {
  32.     "type": "object",
  33.     "properties": {
  34.       "Fish": {
  35.         "type": "object",
  36.         "properties": {
  37.           "Name": {
  38.             "type": "string"
  39.           },
  40.           "Species": {
  41.             "type": "string"
  42.           }
  43.         },
  44.         "required": [
  45.           "Name",
  46.           "Species"
  47.         ],
  48.         "additionalProperties": false
  49.       }
  50.     },
  51.     "required": [
  52.       "Fish"
  53.     ]
  54.   },
  55.   "else": {
  56.     "type": "object",
  57.     "properties": {
  58.       "Car": {
  59.         "type": "object",
  60.         "properties": {
  61.           "Make": {
  62.             "type": "string"
  63.           },
  64.           "Model": {
  65.             "type": "string"
  66.           },
  67.           "Year": {
  68.             "type": "integer",
  69.             "minimum": 1900,
  70.             "maximum": 2999
  71.           }
  72.         },
  73.         "required": [
  74.           "Make",
  75.           "Model",
  76.           "Year"
  77.         ],
  78.         "additionalProperties": false
  79.       }
  80.     },
  81.     "required": [
  82.       "Car"
  83.     ]
  84.   }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement