title: Is it possible to create a JSON Schema that can validate a hashmap / dictionary as opposed to an object?
body: <p>So if I have an object, let's call it a Person, like:</p>
  
  <pre><code>{
    "email": "foo@bar.com",
    "first"" "foo",
    "last": "bar"
  }
  </code></pre>
  
  <p>This Person object can all be validated quite well with JSON Schema.  The issue is when multiple of these are arranged into a dictionary where the email field is used as the key and the object is the value.  For example:</p>
  
  <pre><code>{
    "foo@bar.com": {
      "email": "foo@bar.com",
      "first"" "foo",
      "last": "bar"
    },
    "you@your.com": {
      "email": "you@your.com",
      "first": "Bob",
      "last": "Bobton"
    },
    "me@mine.com": {
      "email": "me@mine.com",
      "first": "Deb",
      "last": "Debbington"
    }
  }
  </code></pre>
  
  <p>This is a common way to structure data.  Beyond the validation of the Person values, which can be handled well by a JSON Schema, there are a number of validations that would be useful on the dictionary:</p>
  
  <ul>
  <li>The key is an email and can be validated as one.</li>
  <li>The value is always a Person.</li>
  <li>The key is always identical to the value's email field.  </li>
  <li>All the keys are unique.</li>
  </ul>
  
  <p>Is it possible to implement these dictionary validations using JSON Schema?</p>