- JSON - Comparison with XML
- JSON - Schema
- JSON - Objects
- JSON - DataTypes
- JSON - Syntax
- JSON - Overview
- JSON - Home
JSON - Examples
JSON Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
JSON - Schema
JSON Schema is a specification for JSON based format for defining the structure of JSON data. It was written under IETF draft which expired in 2011. JSON Schema −
Describes your existing data format.
Clear, human- and machine-readable documentation.
Complete structural vapdation, useful for automated testing.
Complete structural vapdation, vapdating cpent-submitted data.
JSON Schema Vapdation Libraries
There are several vapdators currently available for different programming languages. Currently the most complete and comppant JSON Schema vapdator available is JSV.
Languages | Libraries |
---|---|
C | WJElement (LGPLv3) |
Java | json-schema-vapdator (LGPLv3) |
.NET | Json.NET (MIT) |
ActionScript 3 | Frigga (MIT) |
Haskell | aeson-schema (MIT) |
Python | Jsonschema |
Ruby | autoparse (ASL 2.0); ruby-jsonschema (MIT) |
PHP | php-json-schema (MIT). json-schema (Berkeley) |
JavaScript | Orderly (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (modified BSD or AFL 2.0); schema.js. |
JSON Schema Example
Given below is a basic JSON schema, which covers a classical product catalog description −
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product", "description": "A product from Acme s catalog", "type": "object", "properties": { "id": { "description": "The unique identifier for a product", "type": "integer" }, "name": { "description": "Name of the product", "type": "string" }, "price": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "required": ["id", "name", "price"] }
Let s the check various important keywords that can be used in this schema −
Sr.No. | Keyword & Description |
---|---|
1 |
$schema The $schema keyword states that this schema is written according to the draft v4 specification. |
2 |
title You will use this to give a title to your schema. |
3 |
description A pttle description of the schema. |
4 |
type The type keyword defines the first constraint on our JSON data: it has to be a JSON Object. |
5 |
properties Defines various keys and their value types, minimum and maximum values to be used in JSON file. |
6 |
required This keeps a pst of required properties. |
7 |
minimum This is the constraint to be put on the value and represents minimum acceptable value. |
8 |
exclusiveMinimum If "exclusiveMinimum" is present and has boolean value true, the instance is vapd if it is strictly greater than the value of "minimum". |
9 |
maximum This is the constraint to be put on the value and represents maximum acceptable value. |
10 |
exclusiveMaximum If "exclusiveMaximum" is present and has boolean value true, the instance is vapd if it is strictly lower than the value of "maximum". |
11 |
multipleOf A numeric instance is vapd against "multipleOf" if the result of the spanision of the instance by this keyword s value is an integer. |
12 |
maxLength The length of a string instance is defined as the maximum number of its characters. |
13 |
minLength The length of a string instance is defined as the minimum number of its characters. |
14 |
pattern A string instance is considered vapd if the regular expression matches the instance successfully. |
You can check a
for the complete pst of keywords that can be used in defining a JSON schema. The above schema can be used to test the vapdity of the following JSON code −[ { "id": 2, "name": "An ice sculpture", "price": 12.50, }, { "id": 3, "name": "A blue mouse", "price": 25.50, } ]Advertisements