{
  "$id": "https://example.com/person.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Person",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string",
      "description": "the person's first name",
      "title": "Person",
      "examples": ["Guido", "BDFL"]
    },
    "lastName": {
      "type": "string",
      "description": "The person's last name.",
      "title": "Person",
      "examples": ["Van Rossum"]
    },
    "age": {
      "description": "Age in years which must be equal to or greater than zero.",
      "type": "integer",
      "minimum": 0,
      "title": "Person",
      "examples": [64]
    },
    "moreInfo": {
      "description": "Any more info you want as an object",
      "type": "object",
      "examples": [
        {
          "birthplace": "Haarlem, Netherlands",
          "favorite_emoji": "🐍",
          "motto": "Beautiful is better than ugly.\\nExplicit is better than implicit.\\nSimple is better than complex.\\nComplex is better than complicated.\\nFlat is better than nested.\\nSparse is better than dense.\\nReadability counts.\\nSpecial cases aren't special enough to break the rules.\\nAlthough practicality beats purity.\\nErrors should never pass silently.\\nUnless explicitly silenced.\\nIn the face of ambiguity, refuse the temptation to guess.\\nThere should be one-- and preferably only one --obvious way to do it.\\nAlthough that way may not be obvious at first unless you're Dutch.\\nNow is better than never.\\nAlthough never is often better than *right* now.\\nIf the implementation is hard to explain, it's a bad idea.\\nIf the implementation is easy to explain, it may be a good idea.\\nNamespaces are one honking great idea -- let's do more of those!"
        }
      ]
    }
  }
}