JSON-スキーマ

JSONスキーマは、JSONデータの構造を定義するためのJSONベースの形式の仕様です。2011年に期限切れになったIETFドラフトの下で書かれました。JSONスキーマ-

  • 既存のデータ形式について説明します。
  • 明確で、人間と機械が読めるドキュメント。
  • 自動テストに役立つ完全な構造検証。
  • 完全な構造検証、クライアントから送信されたデータの検証。

JSONスキーマ検証ライブラリ

現在、さまざまなプログラミング言語で利用できるバリデーターがいくつかあります。現在利用可能な最も完全で準拠したJSONスキーマバリデーターはJSVです。

言語 ライブラリ
C WJElement(LGPLv3)
Java json-schema-validator(LGPLv3)
。ネット Json.NET(MIT)
ActionScript 3 フリッガ(MIT)
Haskell アイソーンスキーマ(MIT)
Python Jsonschema
ルビー 自動解析(ASL 2.0); ruby-jsonschema(MIT)
PHP php-json-schema(MIT)。json-schema(バークレー)
JavaScript 整然とした(BSD); JSV; json-スキーマ; マティック(MIT); 道場; 忍耐強い(変更されたBSDまたはAFL 2.0); schema.js。

JSONスキーマの例

以下に示すのは、古典的な製品カタログの説明をカバーする基本的なJSONスキーマです。

{
   "$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"]
}

このスキーマで使用できるさまざまな重要なキーワードを確認してみましょう-

シニア番号 キーワードと説明
1

$schema

$ schemaキーワードは、このスキーマがドラフトv4仕様に従って記述されていることを示しています。

2

title

これを使用して、スキーマにタイトルを付けます。

3

description

スキーマの簡単な説明。

4

type

typeキーワードは、JSONデータの最初の制約を定義します。JSONオブジェクトである必要があります。

5

properties

JSONファイルで使用されるさまざまなキーとその値のタイプ、最小値と最大値を定義します。

6

required

これにより、必要なプロパティのリストが保持されます。

7

minimum

これは値に課せられる制約であり、最小許容値を表します。

8

exclusiveMinimum

「exclusiveMinimum」が存在し、ブール値がtrueの場合、インスタンスは「minimum」の値よりも厳密に大きい場合に有効です。

9

maximum

これは値に課せられる制約であり、最大許容値を表します。

10

exclusiveMaximum

「exclusiveMaximum」が存在し、ブール値がtrueの場合、インスタンスは「maximum」の値よりも厳密に低い場合に有効です。

11

multipleOf

インスタンスをこのキーワードの値で除算した結果が整数の場合、数値インスタンスは「multipleOf」に対して有効です。

12

maxLength

文字列インスタンスの長さは、その文字の最大数として定義されます。

13

minLength

文字列インスタンスの長さは、その文字の最小数として定義されます。

14

pattern

文字列インスタンスは、正規表現がインスタンスと正常に一致した場合に有効と見なされます。

あなたはチェックすることができます http://json-schema.orgJSONスキーマの定義に使用できるキーワードの完全なリストについては。上記のスキーマを使用して、次のJSONコードの有効性をテストできます-

[
   {
      "id": 2,
      "name": "An ice sculpture",
      "price": 12.50,
   },
	
   {
      "id": 3,
      "name": "A blue mouse",
      "price": 25.50,
   }
]