JSON (JavaScript Object Notation) è un formato di scambio dati ampiamente utilizzato per la sua leggerezza e leggibilità. È usato in vari contesti, come le risposte delle API web e i file di configurazione. In questo articolo, spiegheremo in dettaglio come caricare, aggiornare e modificare i file JSON in modo efficiente utilizzando Python, con esempi di codice pratici. Ciò permetterà anche ai principianti di Python di lavorare facilmente con i file JSON.
Che cos’è un file JSON?
Un file JSON, abbreviazione di JavaScript Object Notation, è un formato di scambio dati leggero e leggibile per gli esseri umani. Rappresenta principalmente oggetti costituiti da coppie chiave-valore o array costituiti da elenchi di valori. JSON è indipendente dal linguaggio e supportato da molti linguaggi di programmazione, rendendolo ampiamente utilizzato per la memorizzazione e il trasferimento dei dati.
Come leggere i file JSON in Python
In Python, è possibile leggere facilmente un file JSON utilizzando il modulo json
della libreria standard. Di seguito sono riportati i passaggi fondamentali e un esempio di codice.
Importazione del modulo JSON
Per prima cosa, importa il modulo json
. Poiché è incluso nella libreria standard, non è necessario installarlo separatamente.
import json
Lettura di un file JSON
Successivamente, carica il file JSON. Nell’esempio seguente, caricheremo il file data.json
e ne otterremo il contenuto come oggetto di tipo dizionario in Python.
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
Nel codice sopra, la funzione open
apre il file e la funzione json.load
carica i dati JSON. I dati caricati possono essere gestiti come un dizionario Python.
Come aggiornare i dati di un file JSON
In Python, è facile aggiornare i dati JSON caricati. Di seguito sono illustrati i passaggi specifici e un esempio di codice.
Aggiornamento dei dati JSON
I dati JSON caricati vengono trattati come oggetti di tipo dizionario in Python. Per aggiornarli, si effettuano le normali operazioni sui dizionari. Ad esempio, per modificare il valore di una chiave specifica, si procede come segue:
# Aggiorna i dati esistenti
data['name'] = 'Nuovo Nome'
Salvataggio dei dati aggiornati
Per salvare i dati aggiornati nel file JSON originale, utilizza la funzione json.dump
. Nell’esempio seguente, i dati aggiornati vengono sovrascritti nel file data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
Nel codice sopra, la funzione open
apre il file e la funzione json.dump
scrive i dati aggiornati. Il parametro indent
permette di migliorare la leggibilità del file JSON salvato.
Come aggiungere nuovi dati a un file JSON
Aggiungere nuovi dati a un file JSON esistente in Python è semplice. Di seguito sono illustrati i passaggi specifici e un esempio di codice.
Aggiunta di nuovi dati
Poiché i dati JSON vengono trattati come un oggetto di tipo dizionario, per aggiungere una nuova coppia chiave-valore è sufficiente aggiungere una nuova voce al dizionario. Nell’esempio seguente, viene aggiunta una nuova chiave age
con il suo valore.
# Aggiungi nuovi dati
data['age'] = 30
Salvataggio dei dati aggiunti
Dopo aver aggiunto nuovi dati, salva i dati aggiornati nel file JSON. Il metodo di salvataggio è lo stesso utilizzato per l’aggiornamento. Nell’esempio seguente, i nuovi dati vengono aggiunti e salvati nel file data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
In questo modo, è possibile aggiungere nuovi dati a un file JSON esistente e salvarli.
Come rimuovere dati da un file JSON
In Python, è possibile rimuovere dati indesiderati da un file JSON manipolando l’oggetto dizionario. Di seguito sono illustrati i passaggi specifici e un esempio di codice.
Rimozione dei dati
Per rimuovere una coppia chiave-valore specifica dai dati JSON, utilizza l’istruzione del
del dizionario. Nell’esempio seguente, viene eliminata la chiave age
.
# Elimina una chiave specifica
del data['age']
Salvataggio dei dati eliminati
Dopo aver rimosso i dati, salva il contenuto aggiornato nel file JSON. Il metodo di salvataggio è lo stesso utilizzato per l’aggiornamento o l’aggiunta di dati. Nell’esempio seguente, i dati aggiornati vengono salvati nel file data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
Così facendo, è possibile rimuovere i dati indesiderati da un file JSON e salvarli.
Salvataggio e codifica dei file JSON
Quando si salvano i dati JSON aggiornati o modificati, è importante configurare correttamente la codifica. Di seguito spiegheremo come salvare i file JSON e le impostazioni di codifica.
Salvataggio dei dati JSON
In Python, utilizza la funzione json.dump
per salvare i dati JSON aggiornati o modificati su un file. Apri il file in modalità scrittura e salva i dati aggiornati.
with open('data.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False)
Qui, specificando encoding='utf-8'
, il file viene salvato con codifica UTF-8. Inoltre, impostando ensure_ascii=False
, i caratteri non ASCII vengono salvati correttamente, consentendo la corretta memorizzazione di caratteri giapponesi o di altre lingue.
L’importanza della codifica
Le impostazioni di codifica sono particolarmente importanti per le applicazioni internazionali. Utilizzare la codifica UTF-8 permette di supportare una vasta gamma di set di caratteri e garantire la compatibilità dei dati.
Esempio pratico: lavorare con più file JSON
Quando si lavora con più file JSON in Python, è necessario effettuare una serie di operazioni come il caricamento di ciascun file, l’integrazione dei dati, l’aggiornamento e il salvataggio. Di seguito sono riportati i passaggi specifici e un esempio di codice.
Caricamento di più file
Per prima cosa, carica più file JSON. Nell’esempio seguente, caricheremo due file, data1.json
e data2.json
, ottenendo i dati da ciascuno.
import json
# Carica i file
with open('data1.json', 'r') as file1, open('data2.json', 'r') as file2:
data1 = json.load(file1)
data2 = json.load(file2)
Integrazione dei dati
Spieghiamo come integrare i dati caricati. Nell’esempio seguente, i due dizionari vengono uniti.
# Integra i dati
merged_data = {**data1, **data2}
Se le chiavi dei dizionari sono duplicate, i valori di data2
avranno la precedenza.
Aggiornamento e salvataggio dei dati integrati
Aggiorna e salva i dati integrati. Nell’esempio seguente, viene aggiunta una nuova voce ai dati integrati e questi vengono salvati nel file merged_data.json
.
# Aggiorna i dati
merged_data['new_key'] = 'Nuovo Valore'
# Salva i dati integrati
with open('merged_data.json', 'w', encoding='utf-8') as file:
json.dump(merged_data, file, indent=4, ensure_ascii=False)
In questo modo, è possibile lavorare con più file JSON, integrando i dati e salvandoli.
Esercizi
Qui proponiamo degli esercizi per permettere ai lettori di acquisire competenze nella gestione dei file JSON con Python. Attraverso questi esercizi, sarà possibile comprendere meglio i concetti appresi.
Esercizio 1: Lettura di un file JSON
Leggi il file example.json
riportato di seguito e visualizza il suo contenuto.
{
"name": "Alice",
"age": 25,
"city": "Tokyo"
}
Esercizio 2: Aggiornamento dei dati
Aggiorna l’età dei dati letti nell’esercizio 1 portandola a 30 e visualizza il contenuto aggiornato.
Esercizio 3: Aggiunta di nuovi dati
Aggiungi ai dati aggiornati nell’esercizio 2 una nuova chiave email
con il valore alice@example.com
e visualizza il contenuto aggiornato.
Esercizio 4: Eliminazione dei dati
Rimuovi la chiave email
e il relativo valore aggiunto nell’esercizio 3, quindi visualizza il contenuto aggiornato.
Esercizio 5: Integrazione di più file
Leggi i due file JSON riportati di seguito, integra i dati e visualizza il risultato.
// file1.json
{
"name": "Alice",
"age": 25
}
// file2.json
{
"city": "Tokyo",
"country": "Japan"
}
Aggiungi una nuova chiave phone
con il valore 123-456-7890
ai dati integrati e salva i dati risultanti in un nuovo file merged.json
.
Questi esercizi ti permetteranno di acquisire solide basi per lavorare con i file JSON in Python.
Conclusione
Abbiamo illustrato in dettaglio come gestire i file JSON utilizzando Python. Abbiamo esplorato la struttura di base dei file JSON, come leggerli, aggiornare i dati, aggiungere o rimuovere elementi e come gestire più file contemporaneamente. Inoltre, attraverso gli esercizi, hai avuto l’opportunità di mettere in pratica le nozioni apprese. Utilizza queste conoscenze per gestire i dati, integrare API o affrontare altri scenari. Nelle tue future esperienze di apprendimento, sfrutta le potenti librerie di Python per una programmazione più efficiente.