JSON Schema and Hyper-Schema : JSON Tutorial


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 :
  1. How the data format should be.
  2. Easy to understand Documentation.
  3. Data for Validation.
  4. 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 :
  1. It describes existing API - no new structures required.
  2. Used to create links (including URI Templates for target URIs)
  3. Used to create forms - specify a JSON Schema for the desired data.
Example :
{
    "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}"
        }
    ]
}





Hello there!,

You are using AdBlocker!

I am an independent developer trying to help fellow developers and students to resolve issues faced on a day-to-day basis, we 'Code to Care' . There is a lot of expenses involved in hosting and managing a website that's the reason we have ads.

A humble request to you to disable adBlocker on Code2care.org and support us pay our bills.

Thanks,
Cod2care - Line's of code for change.

To see contents reload page after unblocking
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities. Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, Tips-n-tricks, How Tos, Blogs, Articles, etc. on various platforms like Windows, Mac, Linux, Mobile platforms, etc. Technologies/Languages like Java, Objective-C, PHP, .Net, Android, SharePoint, jQuery, HTML, CSS, etc.