Guide fir JSON Schema

JSON Schema

Ier mer an JSON Schema goen, ass et wichteg den Ënnerscheed tëscht JSON an JSON Schema ze wëssen.

Language

JSON ass kuerz fir JavaScript Object Notation, an et ass e Sproochonofhängegt Dateformat dat APIs benotze fir Ufroen an Äntwerten ze schécken. JSON ass einfach ze liesen a schreiwen fir Leit a Maschinnen. JSON ass en Text-baséiert Format dat net un d'Sprooch gebonnen ass (Sprooch onofhängeg).

JSON Schema

JSON Schema ass en nëtzlecht Tool fir d'JSON Datenstruktur z'iwwerpréiwen. Fir d'Struktur vum JSON ze spezifizéieren, benotzt e JSON-baséiert Format. Säin Zweck ass sécherzestellen datt JSON Daten akzeptabel sinn. D'Konventioun fir d'JSON-Daten vun eiser Applikatioun kënne mat Schema definéiert ginn.

Et ginn dräi Haaptsektioune fir d'JSON Schema Spezifikatioun:

JSON Hyper-Schema:

JSON Hyper-Schema ass eng JSON Schema Sprooch déi benotzt ka ginn fir JSON Dokumenter mat Hyperlinks an Instruktioune fir d'Veraarbechtung an d'Ännerung vun externen JSON Ressourcen iwwer Text-baséiert Ëmfeld wéi HTTP ze markéieren. Klickt hei fir méi iwwer JSON Hyper-Schema ze léieren.

JSON Schema Core:

Et ass eng Rei vu Reegele fir d'Etikettéieren an d'Validatioun vun JSON Dokumenter. 

JSON Schema Core:

  • Beschreift den Dateformat deen Dir am Moment hutt. 
  • Validéiert Daten déi an automatiséiertem Tester benotzt kënne ginn. 
  • Assuréiert d'Genauegkeet vun den Donnéeën, déi vu Cliente ginn.  
  • Bitt liesbar Dokumentatioun fir béid Mënschen a Maschinnen. 

JSON Schema Validatioun:

Validatioun baséiert op JSON Schema setzt Limiten op d'Struktur vun Instanzdaten. Duerno, all Schlësselwieder déi Net-Behaaptung hunn Informatiounen, wéi deskriptiv Metadaten a Gebrauchsindikatiounen, ginn op eng Instanzpositioun bäigefüügt, déi all deklaréiert Aschränkungen entsprécht. 

Newtonsoft's JSON Schema Validator Tool ass en Tool dat Dir direkt an Ärem Browser benotze kënnt, gratis. Dir kënnt dëst Tool benotze fir d'Struktur vun Ärem JSON Schema ze testen. Dës Säit enthält Kontrollen an Erklärungen fir Iech unzefänken. Op dës Manéier ass et einfach ze gesinn wéi Dir Är JSON Struktur verbessert.

Mir kënnen eisen JSON Objekt iwwerpréift mam JSON Schema Validation Tool:

JSON Validator Feeler Gratis

Mir hunn Alter Validatioun (Minimum = 20 a Maximum = 40) wéi an der Figur uewen gewisen. Et goufe keng Feeler fonnt.

JSON Validator Mat Feeler

Et huet e Feeler ugewisen wann d'Altersvalidatioun falsch agefouert gouf.

D'Schafe vun engem JSON Schema

Loosst eis e Beispill vum JSON Schema kucken fir ze kucken wat mir schwätzen. E Basis JSON Objekt deen e Produktkatalog beschreift ass wéi follegt:

JSON Beispill

Säin JSON Schema kéint wéi follegt geschriwwe ginn:

JSON Schema Resultat

E JSON Schema ass e JSON Dokument, an dat Dokument MUSS en Objet sinn. Schlësselwieder sinn Objektmemberen / Attributer spezifizéiert vum JSON Schema. "Schlësselwierder" am JSON Schema bezéien sech op de "Schlëssel" Deel vun enger Schlëssel / Wäert Kombinatioun an engem Objet. E JSON Schema schreiwen implizéiert e bestëmmten "Schlësselwuert" op e Wäert an engem Objet fir de gréissten Deel ze kartéieren. 

Loosst eis d'Schlësselwierder méi no kucken, déi mir an eisem Beispill benotzt hunn: 

De JSON Schema un deem de Schema vun der Ressource entsprécht, gëtt vun dësem Attribut opgeschriwwen. Dëst Schema ass geschriwwen no den Entworf v4 Standard, wéi spezifizéiert vum "$ Schema" Schlësselwuert. Dëst verhënnert datt Äert Schema zréck an déi aktuell Versioun falen, déi mat eeler kompatibel ass oder net.

De "Titel"A"Beschreiwung" Schlësselwieder sinn nëmmen Erklärung; si setzen keng Aschränkungen op d'Donnéeën déi gepréift ginn. Dës zwee Schlësselwieder beschreiwen den Zweck vum Schema: et beschreift e Produkt.

De "Typ" Schlësselwuert definéiert eis JSON Daten éischt Grenzbedéngung; et muss e JSON Objekt sinn. Wa mir den Typ net fir all Schema setzen, funktionnéiert de Code net. E puer allgemeng Zorte sinn "Nummer", "Boolean", "Ganzt", "Null" "Objet" "Array" "String".

 

JSON Schema gëtt vun de folgende Bibliothéiken ënnerstëtzt:

 

Sprooch

Bibliothéik

C

WJElement

Python

jschon

PHP

Beschreiwung Json Schema

Javascript

ajv

Go

gojsonschema

Kotlin

Media-validator

Rubin

JSON Schemer

JSON (Syntax)

Loosst eis e kuerze Bléck op d'fundamental Syntax vum JSON huelen. JSON Syntax ass en Ënnerdeel vun der JavaScript Syntax déi folgend Elementer enthält:

  • Numm / Wäertpaire gi benotzt déi Daten representéieren.
  • Objete ginn a gekrauselt Klammern gehal, an all Numm gëtt vun engem ':' (Doppelpunkt) gefouert, mat Wäertpaaren getrennt duerch "," (Komma).
  • Wäerter ginn duerch "," (Komma) getrennt an d'Arrays ginn a véiereckege Klammeren ofgehalen.
JSON Syntax Beispill

Déi folgend zwou Datestrukture gi vum JSON ënnerstëtzt:

  • Bestallt Lëscht vu Wäerter: Et kann eng Array, eng Lëscht oder e Vektor sinn.
  • Sammlung vun Numm/Wäertpaaren: Verschidde Computersproochen ënnerstëtzen dës Datestruktur.

 

JSON (Objet)

E JSON Schema ass en JSON Objet deen d'Art an d'Struktur vun engem aneren JSON Objet skizzéiert. E JavaScript Objet Ausdrock kann e JSON Objet a JavaScript Runtime Ëmfeld representéieren. E puer Beispiller vu gültege Schemaobjekter sinn wéi follegt:

Schema

Mätscher

{}

all Wäert

{Typ: 'Objet'}

engem JavaScript Objet

{Typ: 'Nummer' }

eng JavaScript Nummer

{Typ: 'String'}

eng JavaScript String

B.

En neien Objet maachen deen eidel ass:

var JSON_Obj = {};

Nei Objekt Kreatioun:

var JSON_Obj = neien Objet()

JSON (Vergläich mat XML)

JSON an XML si Sprooch-onofhängeg mënschlech liesbar Formater. An real-Welt Szenarie kënne se souwuel erstellen, liesen an decodéieren. Baséierend op de folgende Kritäre kënne mir JSON mat XML vergläichen.

Komplexitéit

Well XML méi komplex ass wéi JSON, léiwer Programméierer JSON.

Benotzung vun Arrays

XML gëtt benotzt fir strukturéiert Daten auszedrécken; awer, XML ënnerstëtzt net Arrays, mee JSON mécht.

Analyséiere

JSON gëtt interpretéiert mat der JavaScript eval Funktioun. eval gëtt de beschriwwenen Objet zréck wann se mat JSON benotzt ginn.

 

Beispill:

 

Language

XML

{

   "Firma": Ferrari,

   "Numm": "GTS",

   "Präis": 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

JSON Schema Virdeeler

JSON ass entwéckelt fir an enger mënschlecher a Maschinn liesbarer Sprooch ze deflekten. Wéi och ëmmer, ouni e bësse Feintuning, kann et weder sinn. JSON Schema huet de Virdeel fir JSON méi verständlech fir Maschinnen a Mënschen ze maachen.

D'Benotzung vun JSON Schema läscht och de Besoin fir verschidde Client-Säit Updates. Eng Lëscht vun gemeinsamen HTML Coden ze maachen an se dann op der Client Säit ëmzesetzen ass eng typesch awer ongenau Method fir Client-Säit ze konstruéieren API Apps. Wéi och ëmmer, dëst ass net déi gréisste Strategie well Ännerungen op der Server-Säit kënne verschidde Funktionalitéite falsch funktionéieren.

Den Haaptvirdeel vum JSON Schema ass seng Kompatibilitéit mat verschiddene Programméierungssproochen, souwéi d'Genauegkeet an d'Konsistenz vun der Validatioun.

JSON Schema ënnerstëtzt eng breet Palette vu Browser an Betribssystemer, Dofir brauche Apps, déi am JSON geschriwwe sinn, net vill Effort fir se all Browser kompatibel ze maachen. Wärend der Entwécklung betruechten d'Entwéckler verschidde Browser, obwuel JSON schonn d'Fäegkeeten huet.

JSON ass den effizientesten Wee fir Daten vun all Gréisst ze deelen, dorënner Audio, Video an aner Medien. Dëst ass wéinst der Tatsaach datt JSON Daten an Arrays späichert, wat d'Dateniwwerdroung méi einfach mécht. Als Resultat ass JSON dat bescht Dateiformat fir Online APIen an Entwécklung.

Wéi APIe méi heefeg wuessen, ass et logesch ze iwwerhuelen datt API Validatioun an Tester ëmmer méi wichteg ginn. Et ass och realistesch ze erwaarden datt JSON net méiglecherweis vill méi einfach gëtt wéi d'Zäit weidergeet. Dëst implizéiert datt e Schema fir Är Donnéeën nëmme méi kritesch gëtt wéi d'Zäit weidergeet. Well JSON de Standard Dateiformat ass fir mat APIen ze schaffen, ass JSON Schema e gudden Ersatz fir déi, déi mat APIen schaffen.