Cos'è son?

JSON (JavaScript Object Notation)

JSON, acronimo di JavaScript Object Notation, è un formato di interscambio dati leggero e facilmente leggibile sia per gli umani che per le macchine. Si basa su un sottoinsieme del linguaggio di programmazione JavaScript, ma è indipendente dal linguaggio ed è utilizzato da molti linguaggi di programmazione diversi.

Caratteristiche principali:

  • Leggibilità: La sua sintassi semplice e intuitiva lo rende facile da comprendere e modificare.
  • Leggerezza: Essendo basato su testo, è efficiente nello spazio e nella trasmissione.
  • Indipendente dal linguaggio: Può essere facilmente parsato e generato da diversi linguaggi di programmazione.
  • Struttura gerarchica: Supporta strutture di dati complesse tramite annidamento di oggetti e array.
  • Diffusione: È ampiamente utilizzato per lo scambio di dati in applicazioni web, API e configurazioni.

Sintassi:

Un documento JSON è costituito da uno dei seguenti tipi di dati:

  • Oggetto (Object): Una collezione non ordinata di coppie chiave-valore, racchiusa tra parentesi graffe {}. Le chiavi devono essere stringhe racchiuse tra virgolette doppie. I valori possono essere uno qualsiasi dei tipi di dati JSON (oggetto, array, stringa, numero, booleano, null).
  • Array (Array): Una lista ordinata di valori, racchiusa tra parentesi quadre []. I valori possono essere di qualsiasi tipo di dato JSON.
  • Stringa (String): Una sequenza di caratteri Unicode racchiusa tra virgolette doppie "".
  • Numero (Number): Un numero intero o a virgola mobile.
  • Booleano (Boolean): true o false.
  • Null (Null): Un valore vuoto.

Esempio:

{
  "nome": "Mario",
  "cognome": "Rossi",
  "eta": 30,
  "indirizzo": {
    "via": "Via Roma, 1",
    "citta": "Milano"
  },
  "telefoni": [
    "3331234567",
    "0298765432"
  ],
  "is_attivo": true,
  "data_nascita": null
}

Utilizzo:

JSON è ampiamente utilizzato in diversi contesti, tra cui:

  • API Web: Come formato di risposta per le API RESTful. Spesso utilizzato al posto di XML.
  • Configurazione delle applicazioni: Per memorizzare impostazioni e parametri di configurazione.
  • Serializzazione dei dati: Per serializzare oggetti e strutture dati per la memorizzazione o la trasmissione.
  • Database NoSQL: Molti database NoSQL utilizzano JSON come formato principale per la memorizzazione dei dati.
  • Ajax (Asynchronous JavaScript and XML): Per scambiare dati tra un browser web e un server in modo asincrono. Sebbene il nome includa "XML", JSON è diventato molto più popolare per questa applicazione.