JSON - Skema

Skema JSON adalah spesifikasi format berbasis JSON untuk mendefinisikan struktur data JSON. Itu ditulis di bawah draf IETF yang kedaluwarsa pada tahun 2011. Skema JSON -

  • Menjelaskan format data Anda yang sudah ada.
  • Dokumentasi yang jelas, dapat dibaca manusia dan mesin.
  • Validasi struktural lengkap, berguna untuk pengujian otomatis.
  • Validasi struktural lengkap, validasi data yang dikirimkan klien.

Pustaka Validasi Skema JSON

Ada beberapa validator yang saat ini tersedia untuk bahasa pemrograman yang berbeda. Saat ini, validator Skema JSON yang paling lengkap dan sesuai yang tersedia adalah JSV.

Bahasa Perpustakaan
C WJElement (LGPLv3)
Jawa json-schema-validator (LGPLv3)
.BERSIH Json.NET (MIT)
ActionScript 3 Frigga (MIT)
Haskell aeson-schema (MIT)
Python Jsonschema
Rubi autoparse (ASL 2.0); ruby-jsonschema (MIT)
PHP php-json-schema (MIT). json-schema (Berkeley)
JavaScript Tertib (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (BSD dimodifikasi atau AFL 2.0); schema.js.

Contoh Skema JSON

Diberikan di bawah ini adalah skema JSON dasar, yang mencakup deskripsi katalog produk klasik -

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

Mari kita periksa berbagai kata kunci penting yang dapat digunakan dalam skema ini -

Sr.No. Kata Kunci & Deskripsi
1

$schema

Kata kunci $ schema menyatakan bahwa skema ini ditulis sesuai dengan spesifikasi draf v4.

2

title

Anda akan menggunakan ini untuk memberi judul pada skema Anda.

3

description

Sedikit penjelasan tentang skema.

4

type

Kata kunci type mendefinisikan batasan pertama pada data JSON kita: itu harus berupa Objek JSON.

5

properties

Mendefinisikan berbagai kunci dan jenis nilainya, nilai minimum dan maksimum yang akan digunakan dalam file JSON.

6

required

Ini menyimpan daftar properti yang diperlukan.

7

minimum

Ini adalah kendala untuk diletakkan pada nilai dan mewakili nilai minimum yang dapat diterima.

8

exclusiveMinimum

Jika "exclusiveMinimum" ada dan memiliki nilai boolean true, instance valid jika lebih besar dari nilai "minimum".

9

maximum

Ini adalah batasan untuk diletakkan pada nilai dan mewakili nilai maksimum yang dapat diterima.

10

exclusiveMaximum

Jika "exclusiveMaximum" ada dan memiliki nilai boolean true, instance tersebut valid jika lebih rendah dari nilai "maximum".

11

multipleOf

Sebuah instance numerik valid terhadap "multipleOf" jika hasil dari pembagian instance dengan nilai kata kunci ini adalah bilangan bulat.

12

maxLength

Panjang contoh string didefinisikan sebagai jumlah maksimum karakternya.

13

minLength

Panjang instance string didefinisikan sebagai jumlah minimum karakternya.

14

pattern

Contoh string dianggap valid jika ekspresi reguler berhasil cocok dengan instance tersebut.

Anda dapat memeriksa a http://json-schema.orguntuk daftar lengkap kata kunci yang dapat digunakan dalam menentukan skema JSON. Skema di atas dapat digunakan untuk menguji validitas kode JSON berikut -

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