Guida allo schema JSON

Schema JSON

Prima di entrare nello schema JSON, è importante conoscere la differenza tra JSON e JSON Schema.

JSON

JSON è l'abbreviazione di JavaScript Object Notation ed è un formato di dati indipendente dal linguaggio utilizzato dalle API per inviare richieste e risposte. JSON è semplice da leggere e scrivere sia per le persone che per le macchine. JSON è un formato basato su testo che non è legato alla lingua (indipendente dalla lingua).

Schema JSON

JSON Schema è uno strumento utile per verificare la struttura dei dati JSON. Per specificare la struttura di JSON, utilizza un formato basato su JSON. Il suo scopo è garantire che i dati JSON siano accettabili. La convenzione per i dati JSON della nostra applicazione può essere definita utilizzando lo schema.

Ci sono tre sezioni principali nella specifica dello schema JSON:

Iperschema JSON:

JSON Hyper-Schema è un linguaggio JSON Schema che può essere utilizzato per etichettare documenti JSON con collegamenti ipertestuali e istruzioni per l'elaborazione e la modifica di risorse JSON esterne tramite ambienti basati su testo come HTTP. Clic qui per saperne di più su JSON Hyper-Schema.

Nucleo dello schema JSON:

È un insieme di regole per etichettare e convalidare i documenti JSON. 

Nucleo dello schema JSON:

  • Descrive il formato dei dati attualmente disponibile. 
  • Convalida i dati che possono essere utilizzati nei test automatizzati. 
  • Garantire l'accuratezza dei dati forniti dai clienti.  
  • Fornisce documentazione leggibile sia per gli esseri umani che per le macchine. 

Convalida dello schema JSON:

La convalida basata su JSON Schema impone limiti alla struttura dei dati dell'istanza. Successivamente, qualsiasi parola chiave con non asserzione informazioni, come metadati descrittivi e indicazioni d'uso, vengono aggiunti a una posizione di istanza che soddisfa tutti i vincoli dichiarati. 

Lo strumento JSON Schema Validator di Newtonsoft è uno strumento che puoi utilizzare direttamente nel tuo browser, gratuitamente. Puoi utilizzare questo strumento per testare la struttura del tuo schema JSON. Questa pagina contiene controlli e spiegazioni per iniziare. In questo modo, è facile vedere come migliorare la tua struttura JSON.

Possiamo controllare il nostro oggetto JSON utilizzando lo strumento di convalida dello schema JSON:

Validatore JSON senza errori

Abbiamo la convalida dell'età (minimo = 20 e massimo = 40) come mostrato nella figura sopra. Non sono stati trovati errori.

Validatore JSON con errore

Ha visualizzato un errore se la convalida dell'età è stata inserita in modo errato.

La creazione di uno schema JSON

Diamo un'occhiata a un esempio di JSON Schema per vedere di cosa stiamo parlando. Un oggetto JSON di base che descrive un catalogo prodotti è il seguente:

Esempio JSON

Il suo schema JSON potrebbe essere scritto come segue:

Risultato dello schema JSON

Uno schema JSON è un documento JSON e quel documento DEVE essere un oggetto. Le parole chiave sono membri/attributi dell'oggetto specificati dallo schema JSON. Le "parole chiave" nello schema JSON si riferiscono alla parte "chiave" di una combinazione chiave/valore in un oggetto. La scrittura di uno schema JSON comporta per la maggior parte la mappatura di una particolare "parola chiave" a un valore all'interno di un oggetto. 

Diamo un'occhiata più da vicino alle parole chiave utilizzate nel nostro esempio: 

Lo schema JSON a cui è conforme lo schema della risorsa viene annotato da questo attributo. Questo schema è scritto seguendo lo standard draft v4, come specificato dal “$ schema" parola chiave. Ciò impedisce al tuo schema di tornare alla versione corrente, che potrebbe essere compatibile o meno con la versione precedente.

Il "titolo" e "descrizione” le parole chiave sono solo esplicative; non impongono alcuna limitazione ai dati oggetto di verifica. Queste due parole chiave descrivono lo scopo dello schema: descrive un prodotto.

Il "DigitareLa parola chiave ” definisce la prima condizione al contorno dei nostri dati JSON; deve essere un oggetto JSON. Se non impostiamo il tipo per tutti gli schemi, il codice non funzionerebbe. Alcuni tipi comuni sono "number" "Boolean" "integer" "null" "object" "array" "string".

 

JSON Schema è supportato dalle seguenti librerie:

 

Lingua

Biblioteca

C

WJElemento

Python

jschön

PHP

Descrizione dello schema Json

JavaScript

avv

Go

gojsonschema

Kotlin

Mediaia-validatore

Ruby

JSON Schemer

JSON (sintassi)

Diamo una breve occhiata alla sintassi fondamentale di JSON. La sintassi JSON è un sottoinsieme della sintassi JavaScript che include i seguenti elementi:

  • Vengono utilizzate coppie nome/valore che rappresentano i dati.
  • Gli oggetti sono racchiusi tra parentesi graffe e ogni nome è preceduto da un ':' (due punti), con coppie di valori separate da “,” (virgola).
  • I valori sono separati da “,” (virgola) e gli array sono racchiusi tra parentesi quadre.
Esempio di sintassi JSON

Le seguenti due strutture di dati sono supportate da JSON:

  • Elenco ordinato di valori: Può essere un array, un elenco o un vettore.
  • Raccolta di coppie nome/valore: Diversi linguaggi informatici supportano questa struttura dati.

 

JSON (Oggetto)

Uno schema JSON è un oggetto JSON che delinea il tipo e la struttura di un oggetto JSON diverso. Un'espressione oggetto JavaScript può rappresentare un oggetto JSON negli ambienti di runtime JavaScript. Alcuni esempi di oggetti dello schema validi sono i seguenti:

Schema

Partite

{}

qualsiasi valore

{ digitare: 'oggetto' }

un oggetto JavaScript

{ digitare: 'numero' }

un numero JavaScript

{ digitare: 'stringa'}

una stringa JavaScript

Per esempio:

Creazione di un nuovo oggetto vuoto:

var JSON_Obj = {};

Creazione di nuovi oggetti:

var JSON_Obj = nuovo oggetto()

JSON (confronto con XML)

JSON e XML sono formati leggibili dall'uomo indipendenti dal linguaggio. Negli scenari del mondo reale, possono creare, leggere e decodificare. Sulla base dei seguenti criteri, possiamo confrontare JSON con XML.

Complessità

Poiché XML è più complesso di JSON, i programmatori preferiscono JSON.

Uso degli array

XML viene utilizzato per esprimere dati strutturati; tuttavia, XML non supporta gli array, ma JSON sì.

parsing

JSON viene interpretato utilizzando la funzione eval di JavaScript. eval restituisce l'oggetto descritto se utilizzato con JSON.

 

Esempio:

 

JSON

XML

{

   “azienda”: ​​Ferrari,

   “nome”: “GTS”,

   “prezzo”: 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Vantaggi dello schema JSON

JSON è progettato per deviare in un linguaggio leggibile dall'uomo e dalla macchina. Tuttavia, senza qualche messa a punto, non può essere né l'uno né l'altro. JSON Schema ha il vantaggio di rendere JSON più comprensibile sia per le macchine che per gli umani.

L'utilizzo di JSON Schema elimina anche la necessità di numerosi aggiornamenti lato client. Creare un elenco di codici HTML comuni e quindi implementarli sul lato client è un metodo tipico ma impreciso per costruire lato client API app. Tuttavia, questa non è la migliore strategia perché le modifiche sul lato server potrebbero causare il malfunzionamento di alcune funzionalità.

Il vantaggio principale di JSON Schema è la sua compatibilità con una varietà di linguaggi di programmazione, nonché l'accuratezza e la coerenza della convalida.

Lo schema JSON supporta un'ampia gamma di browser e sistemi operativi, pertanto le app scritte in JSON non richiedono molti sforzi per renderle tutte compatibili con i browser. Durante lo sviluppo, gli sviluppatori prendono in considerazione diversi browser, sebbene JSON abbia già le capacità.

JSON è il modo più efficiente per condividere dati di qualsiasi dimensione, inclusi audio, video e altri media. Ciò è dovuto al fatto che JSON archivia i dati in array, il che semplifica la trasmissione dei dati. Di conseguenza, JSON è il miglior formato di file per le API e lo sviluppo online.

Man mano che le API diventano più comuni, è logico presumere che la convalida e il test delle API diventeranno sempre più importanti. È anche realistico aspettarsi che JSON non diventi molto più semplice con il passare del tempo. Ciò implica che avere uno schema per i tuoi dati diventerà sempre più critico con il passare del tempo. Poiché JSON è il formato di file standard per lavorare con le API, JSON Schema è un buon sostituto per chi lavora con le API.

Google e il mito dell'incognito

Google e il mito dell'incognito

Google e il mito dell'incognito Il 1° aprile 2024, Google ha accettato di risolvere una causa distruggendo miliardi di record di dati raccolti dalla modalità di navigazione in incognito.

Scopri di più »