JSON Schema Configurator

JSON schema is used to describe the structure of JSON data. This is written in JSON.

"schema" keyword

The $schema keyword is used to declare that a JSON fragment is a piece of JSON schema. It also declares which version of the JSON schema standard that the schema was written against. We recommend that all JSON schemas have a $schema entry.

Some files do not contain the $schema keyword. These are treated as a JSON data file and displayed in a from the JSON schema file in JSON Configurator.

The $schema keyword check has been removed to support the schema files that are missing the $schema field. This displays as a JSON schema file. Displaying the JSON data file is no longer supported in JSON Configurator.
Note: The JSON Schema Configurator does not check the $schema field. The configurator treats a JSON file as schema by default, so it cannot display the JSON data file in the configurator. It only processes schemas.

"definition" node

The definition node is useful for structuring the complex schema into parts. These parts can be reused in other places. They can refer to this schema snippet from other locations using the $ref keyword.

The JSON Schema Configurator shows $ref and definition on the tree to aid in understanding the JSON node structure.

The Site Documentation displays the definition and $ref nodes. Reference node can be expanded. If there is an infinite loop, then only limited levels are expanded.

JSON supports reference to sub-elements of definition

A JSON reference is a JSON object that contains a member named "$ref." This member has a JSON string value.

Example:

{ "$ref": "http://example.com/example.json#/foo/bar" }

Reference to any other elements using URI reference is supported.

Note: This feature is supported on engine runtime but not on the GUI. You can input a reference,for example, Account.schema.json#/definitions/Account/extension, and save it, although the GUI incorrectly displays it.