Guida à Schema JSON

Prima di andà in JSON Schema, hè impurtante cunnosce a diffarenza trà JSON è JSON Schema.
JSON
JSON hè l'abbreviazione di JavaScript Object Notation, è hè un formatu di dati indipendente da a lingua chì l'API utilizanu per mandà dumande è risposte. JSON hè simplice per leghje è scrive per e persone è e macchine. JSON hè un furmatu basatu in testu chì ùn hè micca ligatu à a lingua (lingua indipendente).
Schema JSON
JSON Schema hè un strumentu utile per verificà a struttura di dati JSON. Per specificà a struttura di JSON, utilizate un furmatu basatu in JSON. U so scopu hè di assicurà chì i dati JSON sò accettabili. A cunvenzione per i dati JSON di a nostra applicazione pò esse definita cù schema.
Ci sò trè sezzioni principali à a specificazione di Schema JSON:
Hyper-Schema JSON:
JSON Hyper-Schema hè una lingua Schema JSON chì pò esse aduprata per etichettate documenti JSON cù hyperlinks è struzzioni per trasfurmà è cambià risorse JSON esterne via ambienti basati in testu cum'è HTTP. Cliccate ccà per sapè più nantu à JSON Hyper-Schema.
Schema Core JSON:
Hè un inseme di regule per l'etichettatura è a validazione di documenti JSON.
Schema Core JSON:
- Descrive u formatu di dati chì avete attualmente.
- Valida i dati chì ponu esse utilizati in teste automatizati.
- Assicurendu l'accuratezza di e dati datu da i clienti.
- Fornisce documentazione leggibile sia per l'omu è per e macchine.
Validazione di schema JSON:
A validazione basata nantu à Schema JSON impone limiti à a struttura di dati di istanza. Dopu quì, ogni chjave chì ùn hà micca affirmazione nantu à u corsu, cum'è metadata descriptiva è indicazione d'usu, sò aghjuntu à una pusizione di istanza chì risponde à tutte e limitazioni dichjarate.
U strumentu JSON Schema Validator di Newtonsoft hè un strumentu chì pudete aduprà direttamente in u vostru navigatore, gratuitamente. Pudete aduprà sta strumentu per pruvà a struttura di u vostru schema JSON. Questa pagina cuntene cuntrolli è spiegazioni per avè principiatu. In questu modu, hè faciule per vede cumu migliurà a vostra struttura JSON.
Pudemu cuntrollà u nostru Object JSON usendu u Strumentu di Validazione di Schema JSON:

Avemu validazione di età (minimu = 20 è massimu = 40) cum'è mostra in a figura sopra. Ùn ci hè statu trovu errori.

Hè mostratu un errore se a validazione di l'età hè stata inserita incorrectamente.
A Creazione di Un Schema JSON
Fighjemu un esempiu di Schema JSON per vede ciò chì parlemu. Un ughjettu JSON di basa chì descrive un catalogu di prudutti hè u seguitu:

U so Schema JSON pò esse scrittu cusì:

Un Schema JSON hè un documentu JSON, è quellu documentu DEVE esse un oggettu. E parolle chjave sò membri di l'ughjettu / attributi specificati da Schema JSON. "Parole chjave" in Schema JSON si riferiscenu à a parte "chjave" di una combinazione chjave / valore in un oggettu. A scrittura di un Schema JSON implica a mappatura di una "parola chjave" particulare à un valore in un oggettu per a maiò parte.
Fighjemu un ochju più vicinu à e parolle chjave chì avemu usatu in u nostru esempiu:
U schema JSON à quale u schema di a risorsa cumpleta hè scrittu da questu attributu. Stu schema hè scrittu in seguitu à u standard di drafts v4, cum'è specificatu da u "$ schema” keyword. Questu impedisce chì u vostru schema ùn cascà à a versione attuale, chì pò esse o micca cumpatibile cù più vechji.
lu "titre"È"description” e parolle chjave sò solu esplicative; ùn impone alcuna limitazione à i dati verificati. Queste duie parole chjave descrizanu u scopu di u schema: descrive un pruduttu.
lu "activité” keyword definisce a prima cundizione di cunfini di i nostri dati JSON; deve esse un Object JSON. Se ùn avemu micca stabilitu u tipu per tutti i schemi, u codice ùn funziona micca. Certi tipi cumuni sò "number" "Boolean" "integer" "null" "object" "array" "string".
Schema JSON hè supportatu da e seguenti librerie:
lingua | Library |
C | WJElement |
pitone | jschon |
PHP | L'infurmazione nantu à u schema Json |
JavaScript | ajv |
Go | gojsonsschema |
Kotlin | Mediia-validator |
Ruby | JSONSchemer |
JSON (Sintassi)
Fighjemu un breve sguardu à a sintassi fundamentale di JSON. A sintassi JSON hè un subset di sintassi JavaScript chì include i seguenti elementi:
- Coppiu nome / valore sò usati chì rapprisentanu dati.
- L'uggetti sò tenuti in parentesi ricci, è ogni nome hè guidatu da un ":" (colon), cù coppie di valori separati da "," (virgola).
- I valori sò separati da "," (virgola) è i matrici sò tenuti in parentesi quadrate.

I seguenti dui strutture di dati sò supportati da JSON:
- Lista urdinata di i valori: Pò esse un array, una lista, o un vettore.
- Raccolta di coppie nome/valore: Differenti lingue di computer supportanu sta Struttura di Dati.
JSON (ughjettu)
Un schema JSON hè un oggettu JSON chì delinea u tipu è a struttura di un oggettu JSON differente. Una espressione d'ughjettu JavaScript pò rapprisintà un oggettu JSON in ambienti di runtime JavaScript. Alcuni esempi di oggetti di schema validi sò i seguenti:
Schema | Matches |
{} | ogni valore |
{ tipu: 'oggettu'} | un oggettu JavaScript |
{ tipu: 'numeru'} | un numeru JavaScript |
{ type: 'string'} | una stringa JavaScript |
Esempiu:
Fà un novu ogettu chì hè viotu:
var JSON_Obj = {};
Creazione di l'ughjettu novu:
var JSON_Obj = ughjettu novu ()
JSON (paragone cù XML)
JSON è XML sò formati leghjibili da l'omu indipendenti da a lingua. In scenarii di u mondu reale, ponu tramindui creà, leghje è decodificà. Basatu nantu à i seguenti criterii, pudemu paragunà JSON cù XML.
Cumplicità
Perchè XML hè più cumplessu di JSON, i programatori preferanu JSON.
L'usu di Arrays
XML hè utilizatu per sprime dati strutturati; in ogni modu, XML ùn sustene micca arrays, ma JSON.
Analisi
JSON hè interpretatu cù a funzione di eval di JavaScript. eval torna l'ughjettu descrittu quandu s'utilice cù JSON.
esempiu:
JSON | XML |
{ "cumpagnia": Ferrari, "nome": "GTS", "prezzu": 404000 } |
Ferrari
GTS
404000
|
Vantaghji di Schema JSON
JSON hè cuncepitu per svià in una lingua leggibile da l'omu è da a macchina. Tuttavia, senza qualchì fine-tuning, ùn pò esse nè. JSON Schema hà u vantaghju di rende JSON più comprensibile sia per e macchine sia per l'omu.
Utilizà u Schema JSON elimina ancu a necessità di parechje aghjurnamenti di u cliente. Fà una lista di codici HTML cumuni è poi implementà in u latu di u cliente hè un metudu tipicu, ma imprecisu per a custruzzione di u cliente. API apps. Tuttavia, questa ùn hè micca a più grande strategia perchè i cambiamenti in u latu di u servitore puderanu causari un malfunzionamentu di certe funziunalità.
U vantaghju principali di JSON Schema hè a so cumpatibilità cù una varietà di linguaggi di prugrammazione, è ancu a precisione è a cunsistenza di validazione.
Schema JSON supporta una larga gamma di navigatori è sistemi operativi, per quessa, l'applicazioni scritte in JSON ùn piglianu micca assai sforzu per rende tutti compatibili cù u navigatore. Durante u sviluppu, i sviluppatori cunzidenu parechji navigatori, ancu se JSON hà digià e capacità.
JSON hè u modu più efficaci per sparta dati di qualsiasi dimensione, cumpresi audio, video è altri media. Questu hè duvuta à u fattu chì JSON guarda dati in arrays, chì facilita a trasmissione di dati. In u risultatu, JSON hè u megliu furmatu di fugliale per l'API in linea è u sviluppu.
Siccomu l'API diventanu più cumuni, hè logicu di assume chì a validazione è a prova di l'API diventeranu sempre più impurtanti. Hè ancu realisticu di aspittà chì JSON ùn hè micca prubabile di diventà assai più simplice cù u tempu. Questu implica chì avè un schema per i vostri dati hè solu cresce più criticu à u tempu. Perchè JSON hè u furmatu di schedariu standard per travaglià cù API, JSON Schema hè un bonu sustitutu per quelli chì travaglianu cù API.