Open In App

JSON Schema

Last Updated : 22 Jun, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

JSON Schema is a content specification language used for validating the structure of a JSON data.It helps you specify the objects and what values are valid inside the object’s properties. JSON schema is useful in offering clear, human-readable, and machine-readable documentation.

Structure of a JSON Schema: Since JSON format contains an object, array, and name-value pair elements. Name-value pairs are used for providing schema processing elements as well as validating the JSON content. Schema processing elements include(not limited to).

  • $schema” To specify the version of JSON schema.
  • title and description: To provide information about the schema.
  • required: It’s an array of elements that indicates which elements should be present.
  • additionalProperties: To indicate whether existence of specified elements are allowed or not.

JSON content definition:

  • When a JSON object is defined, JSON schema uses name-value pair “type”:”object”
  • When arrays are defined, JSON schema uses the name-value pair “type”:”array”

Example:

{
  "$id": "https://example.com/person.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Voters information",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string",
      "description": "The person's first name."
    },
    "lastName": {
      "type": "string",
      "description": "The person's last name."
    },
    "age": {
      "description": "Age in years which must be equal to or 
                      greater than eighteen in order to vote.",
      "type": "integer",
      "minimum": 18
    }
  }
}

Output:

{
  "firstName": "Indra",
  "lastName": "Sen",
  "age": 20
}

The above JSON schema contains the following:

  • $id keyword
  • $schema keyword
  • title annotation keyword
  • properties validation keyword
  • Three keys: firstName, lastName and age each with their own description keyword.
  • type instance data model (see above)
  • minimum validation keyword on the age key.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads