Guida completa su come aggiornare e modificare i file JSON in Python

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.

Indice

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.

Indice