Tutorial su JSON: impara con un semplice esempio

โšก Riepilogo intelligente

JSON, abbreviazione di JavaScript Object Notation รจ un formato leggero e leggibile dall'uomo per l'archiviazione e lo scambio di dati strutturati tra server e applicazioni. Questa risorsa ne illustra la sintassi, i tipi di dati, le applicazioni pratiche e le differenze che lo distinguono da XML.

  • ๐Ÿ”‘ Definizione di base: JSON memorizza le informazioni come coppie nome/valore e array ordinati, utilizzando parentesi graffe per gli oggetti e parentesi quadre per gli array.
  • ๐Ÿงฉ Tipi di dati supportati: Padroneggia i sei tipi di dati JSON (stringa, numero, booleano, null, oggetto e array) per modellare praticamente qualsiasi struttura.
  • โšก Perchรฉ i team lo adottano: JSON analizza nativamente in JavaQuesto script funziona su tutti i browser e si integra con la maggior parte delle tecnologie backend e delle API REST.
  • ๐Ÿ”„ JSON contro XML: Rispetto a XML, JSON รจ tipizzato, piรน leggibile dall'uomo e piรน veloce da serializzare, sebbene manchi di funzionalitร  di visualizzazione del markup.
  • ๏ธ Strumenti pratici: Prima della distribuzione, convalida, formatta e minimizza il codice utilizzando utility come JSONLint, JSON Editor Online e JSON Formatter.

Esercitazione JSON

Cos'รจ JSON?

JSON รจ un formato di file utilizzato per archiviare informazioni in modo organizzato e di facile accesso. La sua forma completa รจ JavaScript Object Notation. Offre una raccolta di dati leggibili dall'uomo a cui si puรฒ accedere logicamente. La sua estensione di nome file per il codice di programmazione scritto รจ .json. Il tipo di supporto Internet per JSON รจ application/json e il relativo identificatore di tipo uniforme รจ public.json.

Ora che la definizione รจ chiara, la sezione successiva spiega perchรฉ gli sviluppatori scelgono JSON rispetto ad altri formati di dati.

Perchรฉ usare JSON?

Ecco gli importanti vantaggi/pro dell'utilizzo di JSON:

  • Fornire supporto per tutti i browser
  • Facile da leggere e scrivere
  • Sintassi semplice
  • Puoi analizzare in modo nativo JavaScript che utilizza la funzione eval()
  • Facile da creare e manipolare
  • Supportato da tutti i principali JavaFramework di script
  • Supportato dalla maggior parte delle tecnologie backend
  • JSON รจ riconosciuto nativamente da JavaCopione
  • Ti permette di transmit e serializzare i dati strutturati utilizzando una connessione di rete.
  • Puoi usarlo con i linguaggi di programmazione moderni.
  • JSON รจ un testo che puรฒ essere convertito in qualsiasi oggetto JavaConverti lo script in JSON e invia questo JSON al server.

Storia di JSON

Storia di JSON
Esercitazione JSON

Ecco alcuni punti di riferimento importanti che formano la storia di JSON:

  • Douglas Crockford ha specificato il formato JSON all'inizio degli anni 2000.
  • Il sito ufficiale รจ stato lanciato nel 2002.
  • Nel dicembre 2005, Yahoo! inizia a offrire alcuni dei suoi servizi web in JSON.
  • JSON รจ diventato uno standard internazionale ECMA nel 2013.
  • Lo standard di formato JSON piรน aggiornato รจ stato pubblicato nel 2017.

Oltre a questa linea temporale, JSON offre anche una serie di funzionalitร  pratiche che spiegano la sua duratura popolaritร .

Caratteristiche di JSON

Facile da usare โ€“ L'API JSON offre una facciata di alto livello, che aiuta a semplificare i casi d'uso comunemente utilizzati.

Cookie di prestazione โ€“ JSON รจ abbastanza veloce poichรฉ consuma molto meno spazio di memoria, il che รจ particolarmente adatto per grafici o sistemi di oggetti di grandi dimensioni.

Strumento gratuito โ€“ La libreria JSON รจ open source e gratuita.

Non richiede la creazione di una mappaping โ€“ L'API Jackson fornisce la mappa predefinitaping per serializzare molti oggetti.

Pulisci JSON โ€“ Crea risultati JSON puliti e compatibili, facili da leggere.

Dipendenza โ€“ La libreria JSON non richiede altre librerie per l'elaborazione.

Regole per la sintassi JSON

Le regole per la sintassi JSON sono:

  • I dati dovrebbero essere in coppie nome/valore
  • I dati devono essere separati da virgole
  • Le parentesi graffe dovrebbero contenere oggetti
  • Le parentesi quadre contengono matrici

Tipi di dati in JSON

Una volta stabilite le regole di sintassi, la tabella seguente elenca i principali tipi di dati utilizzati in JSON:

Tipo di dati Descrizione
Numero Include un numero reale, un numero intero o un numero mobile
Corda รˆ costituito da qualsiasi testo o Unicode tra virgolette doppie con escape della barra rovesciata
Booleano Il tipo di dati booleano rappresenta i valori True o False
Nullo Il valore Null indica che la variabile associata non ha alcun valore
Oggetto Si tratta di una raccolta di coppie chiave-valore, sempre separate da una virgola e racchiuse tra parentesi graffe.
Italia รˆ una sequenza ordinata di valori separati.

Numero

  • Il numero รจ un formato in virgola mobile a doppia precisione che dipende dal metodo di implementazione.
  • In JSON non รจ possibile utilizzare i formati esadecimale e ottale.

La tabella seguente mostra i tipi di numeri:

Tipo Descrizione
Numero intero Numero 1-9 e 0. Numeri sia positivi che negativi.
frazione Frazioni come 3
esponente Esponente come e, e+

Sintassi:

var json-object-name = { string : number_value,......}

Esempio:

var obj = {salary: 2600}

Corda

Si tratta di una serie di caratteri Unicode tra virgolette doppie e con barra rovesciata in uscitaping.

La tabella seguente mostra vari tipi di stringa:

Tipo Descrizione
* Utilizzare per le virgolette doppie typing
/ Utilizzare per solidus
\ Utilizzare per il solidus inverso
B Utilizzare per aggiungere backspace
F Dal mangime
N Per creare una nuova linea
R Utilizzare per il ritorno a capo
T Per mostrare la scheda orizzontale
U Cifre esadecimali

Sintassi:

var json-object-name = { string : "string value",โ€ฆ..}

Esempio:

var obj = {name: 'Andy'}

Booleano

Memorizza solo valori veri o falsi.

Sintassi:

var json-object-name = {string : true/false, โ€ฆ..}

Esempio:

var obj = {active: 'true'}

Italia

  • รˆ una raccolta ordinata di valori.
  • รˆ necessario utilizzare un array quando i nomi delle chiavi sono numeri interi sequenziali.
  • Dovrebbe essere racchiuso tra parentesi quadre che dovrebbero essere separate da ',' (virgola)

Sintassi:

[value, .......]

Esempio:

Visualizzazione di un array che memorizza piรน oggetti:

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

Oggetto JSON

A Oggetto JSON รจ un'entitร  in JSON racchiusa tra parentesi graffe. รˆ scritta nell'insieme non ordinato di coppie nome e valore in cui il nome deve essere seguito da ":" (due punti) e le coppie nome/valore devono essere separate da "," (virgola). Puรฒ essere utilizzata quando i nomi delle chiavi sono stringhe arbitrarie.

Sintassi:

{ string :  value, โ€ฆ.. }

Esempio:

{
"id": 110,
"language": "Python",
"price": 1900,
}

spazio bianco

รˆ possibile inserire spazi bianchi tra una coppia di token.

Esempio:

Sintassi:

{string:"    ",โ€ฆ.}

Esempio:

var a = " Alex"; var b = "Steve";

Esempio di JSON

L'esempio di codice fornito definisce come utilizzare JSON per archiviare le informazioni relative a libri di programmazione insieme all'edizione e al nome dell'autore.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}

Comprendiamo il formato JSON con un altro esempio di file JSON. Qui, JSON definisce il nome, il cognome e l'ID di uno studente.

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

Applicazione di JSON

Ecco alcune applicazioni comuni di JSON:

  • Ti aiuta a trasferire i dati da un server
  • Il formato del file JSON di esempio aiuta in transmit e serializzare tutti i tipi di dati strutturati.
  • Consente di eseguire chiamate dati asincrone senza la necessitร  di aggiornare la pagina
  • Ti aiuta a transmit scambio di dati tra un server e le applicazioni web.
  • รˆ ampiamente usato per JavaApplicazione basata su script, che include estensioni del browser e siti web.
  • Puoi osservare le transmit scambio di dati tra il server e l'applicazione web tramite JSON.
  • Possiamo usare JSON con i moderni linguaggi di programmazione.
  • รˆ usato per scrivere JavaApplicazioni basate su script che includono componenti aggiuntivi del browser.
  • I servizi Web e le API Restful utilizzano il formato JSON per ottenere dati pubblici.

Data la sua ampia diffusione, JSON viene spesso paragonato a XML, il formato che frequentemente sostituisce.

JSON e XML

Ecco la principale differenza tra JSON e XML

JSON XML
L'oggetto JSON ha un tipo XML i dati sono senza tipo
Tipi JSON: stringa, numero, array, booleano Tutti i dati XML devono essere stringhe
I dati sono facilmente accessibili come oggetti JSON I dati XML devono essere analizzati.
I file JSON sono piรน leggibili dall'uomo. I file XML sono meno leggibili dall'uomo.
JSON รจ supportato dalla maggior parte dei browser. L'analisi XML tra browser puรฒ essere complicata
JSON non ha funzionalitร  di visualizzazione. XML fornisce la funzionalitร  per visualizzare i dati perchรฉ รจ un linguaggio di markup.
Recuperare valore รจ facile Recuperare valore รจ difficile
Supportato da molti toolkit Ajax Non completamente supportato dal toolkit Ajax
Un modo completamente automatizzato di deserializzare/serializzare JavaScript. Gli sviluppatori devono scrivere JavaCodice script per serializzare/deserializzare da XML
Supporto nativo per oggetto. L'oggetto deve essere espresso mediante convenzioni โ€“ per lo piรน mancato uso di attributi ed elementi.

Esempio JSON

Di seguito รจ riportato un semplice esempio JSON:

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

Esempio XML

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

Cosa non รจ JSON?

  • Il file di dati JSON di esempio non รจ un formato di documento.
  • Non รจ un linguaggio di markup.
  • JSON non fornisce un formato di serializzazione generale.
  • Non si tratta di strutture ricorrenti o cicliche.
  • Inoltre non รจ una struttura invisibile.

Svantaggi di JSON

Ecco alcuni vantaggi di JSON:

  • Nessun supporto per lo spazio dei nomi, quindi scarsa estensibilitร 
  • Limitato strumenti di sviluppo supporto
  • Nessun supporto per la definizione della grammatica formale

Strumenti JSON popolari (componenti aggiuntivi)

Ecco alcuni importanti strumenti JSON:

JSONLint:

JSONLint รจ un progetto open-source utilizzato come validatore e riformattatore per JSON. Si tratta di un formato leggero per lo scambio di dati. Copia e incolla, digita direttamente o inserisci URL nello strumento di validazione JSON per convalidare il tuo codice JSON.

link: https://jsonlint.com

Editor JSON in linea:

JSON Editor Online รจ un utile strumento basato sul Web. Ti consente di modificare, visualizzare e formattare JSON. Visualizza i tuoi dati fianco a fianco in modo chiaro e modificabile software di elaborazione del codice.

link: https://jsoneditoronline.org/

Strumento di minimizzazione JSON:

รˆ uno strumento che ti aiuta a rimuovere gli spazi bianchi e fornisce un codice JSON che occupa il minimo spazio.

link: https://www.browserling.com/tools/json-minify

Convertitore da JSON a XML:

Il convertitore da JSON a XML รจ uno strumento semplice ed efficace che ti aiuta a convertire il tuo codice JSON.

link: https://codebeautify.org/jsontoxml

Formattatore JSON:

Il formattatore JSON ti aiuta a risolvere il problema formattando i dati JSON in modo che siano facili da leggere ed eseguire il debug da parte di un essere umano.

link: https://jsonformatter.curiousconcept.com/

DOMANDE FREQUENTI

No. JSON รจ un formato di interscambio dati, non un linguaggio di programmazione. Si limita a memorizzare e trasportare dati strutturati utilizzando una sintassi basata su testo. Linguaggi di programmazione come Javasceneggiatura, Pythone Java Leggere e scrivere file JSON.

Il formato JSON in sรฉ รจ testo semplice e sicuro. I rischi sorgono quando si analizza un input non attendibile, soprattutto con il vecchio metodo eval(). Utilizza un parser JSON standard, come JSON.parse(), e convalida i dati per evitare problemi di injection.

JSON รจ il formato di testo utilizzato per memorizzare e transmit dati. Un oggetto JSON รจ una struttura all'interno di tale formato, scritta tra parentesi graffe come coppie nome/valore. Un file JSON completo puรฒ contenere molti oggetti e array.

I sistemi di intelligenza artificiale utilizzano JSON per inviare richieste, ricevere risposte e scambiare parametri del modello. La maggior parte delle API dei modelli linguistici piรน grandi accetta e restituisce JSON, rendendolo il formato standard per richieste, output strutturati e configurazione dei dati di addestramento.

Sรฌ. Gli assistenti basati sull'IA possono generare JSON a partire da semplici descrizioni e verificarne la presenza di errori di sintassi. Molti strumenti impongono anche uno schema, in modo che l'output rimanga valido e corrisponda alla struttura prevista dall'applicazione.

Riassumi questo post con: