English 中文(简体)
JSON - Schema
  • 时间:2024-11-03

JSON - Schema


Previous Page Next Page  

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 http://json-schema.org 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