Implicit and Explicit ID of JSON Type

Q

What are differences of the implicit ID and the explicit ID of a JSON type in JSON Schema?

✍: FYIcenter.com

A

If a JSON type is defined under a "definitions" property, it could have two identifications:

1. Implicit identification: The implicit identification of a JSON type is an internal bookmark in the form of "#/definitions/xxx", where "xxx" is the type name. For example, the JSON type in the following JSON schema has an implicit identification of "#/definitions/rating":

{   
    "definitions": {
        "rating": {
            "type": "integer",
        }
    },
	...
}

2. Explicit identification: The explicit identification of a JSON type is the identification assigned by the "$id" property. For example, the JSON type in the following JSON schema has an explicit identification of "#point":

{   
    "definitions": {
        "rating": {
		    "$id": "#point",
            "type": "integer",
        }
    },
	...
}

Following JSON schema shows a JSON type called "rating" that can be referenced internally with two identifications: "#/definitions/rating" and "#point":

{
    "definitions": {
        "rating": {
            "$id": "#point",
            "type": "integer",
            "minimum": 0,
            "maximum": 5
        }
    },
    "type": "object",
    "properties": {
        "clarity": {
            "$ref": "#/definitions/rating"
        },
        "efficiency": {
            "$ref": "#point"        
		}
    }
}

 

⇒Introduction of JSON Schema

⇒⇒JSON Tutorials

2017-08-20, 1192👍, 0💬