JSON, acronimo di JavaScript Object Notation, è un formato di interscambio dati leggero e facile da leggere e scrivere sia per le macchine che per gli esseri umani. JSON è stato sviluppato da Douglas Crockford e la sua sintassi deriva da JavaScript, anche se è utilizzabile in moltissimi linguaggi di programmazione.
JSON è nato all'inizio degli anni 2000 come una risposta alla necessità di un formato di interscambio dati più semplice rispetto a XML, che era molto popolare all'epoca. La leggibilità umana e la sintassi compatta di JSON hanno contribuito alla sua rapida adozione in molte applicazioni web e non solo.
JSON è utilizzato principalmente per:
La struttura di base di un file JSON consiste in coppie chiave-valore. Un file JSON può contenere oggetti (rappresentati da {}
) e array (rappresentati da []
).
{
"nome": "Mario Rossi",
"età": 30,
"indirizzo": {
"via": "Via Roma, 1",
"città": "Milano",
"CAP": "20100"
},
"hobby": ["lettura", "calcio", "cinema"],
"iscrizioneNewsletter": true
}
{}
.[]
."
.true
o false
) o null
.Quando si formatta un file JSON, è importante seguire alcune regole per assicurarsi che sia valido:
:
.,
.Valido:
{
"nome": "Mario Rossi",
"età": 30,
"hobby": ["lettura", "calcio", "cinema"]
}
Non Valido (errori evidenziati):
{
nome: "Mario Rossi", // Mancano le doppie virgolette attorno alla chiave
"età": 30,
"hobby": ["lettura", "calcio ", "cinema"], // Virgola finale non necessaria
}
I file JSON possono essere utilizzati per archiviare dati in modo strutturato e sono utili per configurazioni, piccoli dataset e scopi di interscambio di dati. Tuttavia, sostituire completamente un database con file JSON ha delle limitazioni:
Python offre strumenti eccellenti per lavorare con i file JSON attraverso il modulo integrato json
.
Per leggere un file JSON in Python, puoi usare il metodo json.load()
:
import json
# Leggere un file JSON
with open('dati.json', 'r') as file:
dati = json.load(file)
print(dati)
Per scrivere dati su un file JSON, puoi usare il metodo json.dump()
:
import json
# Dati da scrivere su file JSON
dati = {
"nome": "Mario Rossi",
"età": 30,
"hobby": ["lettura", "calcio", "cinema"]
}
# Scrivere su un file JSON
with open('dati.json', 'w') as file:
json.dump(dati, file, indent=4)