JSON Schema : specifies a JSON based format to define the structure of JSON data for validation, documentation, and interaction control.
JSON Hyper-Schema : is used to convert JSON data into hyper-texts.
JSON Schema provides rules for JSON data that is required for a given application and how to interact with it.
There are many validators available for JSON based on different programming languages.
JSON Schema can be used to validate JSON data.
JSON Schema is based on the concepts from XML Schema.
JSON Schema specifies :- How the data format should be.
- Easy to understand Documentation.
- Data for Validation.
- Structural validation for automated testing and validating client-submitted data.
{
"title": "Example of JSON Schema",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"age": {
"description": "Age in years",
"type": "integer",
"minimum": 0
}
},
"required": ["firstName", "lastName"]
}
JSON Hyper-Schema :
- It describes existing API - no new structures required.
- Used to create links (including URI Templates for target URIs)
- Used to create forms - specify a JSON Schema for the desired data.
{
"title": "Example Hyper-Schema",
"type": "object",
"properties": {
"id": {
"title": "Article Identifier",
"type": "number"
},
"title": {
"title": "Article Title",
"type": "string"
},
"authorId": {
"type": "integer"
},
"imgData": {
"title": "Article Illustration (small)",
"type": "string",
"media": {
"binaryEncoding": "base64",
"type": "image/png"
}
}
},
"required" : ["id", "title", "authorId"],
"links": [
{
"rel": "full",
"href": "{id}"
},
{
"rel": "author",
"href": "/user?id={authorId}"
}
]
}
More Posts related to Json-Tutorial,
- JSON Schema Validator Libraries: JSON Tutorial
- JSON Text to JavaScript Object using eval() Example: JSON Tutorial
- JSON with PHP Example: JSON Tutorial
- JSON Syntax : JSON Tutorial
- JSON Datatypes : Tutorial
- JSON Schema and Hyper-Schema : JSON Tutorial
- JSON Nest Objects Example: JSON Tutorial
- JSON Tutorial: List of Lessons
More Posts:
- Android Emulator 5.1.1 not loading on Mac OS X Android Studio - Android-Studio
- Fix: error: unclosed character literal in Java - Java
- AWS SNS CLI Command Publish Message Attributes - AWS
- Fix: MySQL: ERROR 1044 (42000): Access denied for user @localhost to database - MySQL
- jQuery : Move to top of the page - jQuery
- Reopen previously closed tab in Google Chrome - Chrome
- How to check Command Line Tools Version [Updated for Ventura] - MacOS
- When should we use Primitive or Wrapper types in Java? - Java