Come leggere e scrivere i file JSON in Python

Come leggere e scrivere i file JSON in Python
Questo articolo spiegherà come gestire i file e i dati JSON nel linguaggio di programmazione Python. Python viene fornito con un modulo "JSON" integrato che rende la gestione dei dati JSON facile e diretta.

Su JSON

JSON (JavaScript Object Notation) è un formato di file e uno standard di archiviazione dei dati che utilizza coppie di valore chiave per archiviare e scambiare dati. È il formato di scambio di dati più utilizzato, spesso visto in API RESTful, database leggeri, file di configurazione e altri software offline o online che devono archiviare, recuperare e scambiare dati. La maggior parte dei linguaggi di programmazione include librerie per analizzare e scrivere i dati JSON per impostazione predefinita e JSON è un formato di dati agnostici del linguaggio di programmazione. I valori memorizzati in un file JSON o payload di solito contengono stringhe, numeri e tipi di dati serializzabili come elenchi (array).

Dizionari di Json e Python

I dati JSON in Python vengono convertiti in un oggetto di Dizionario utilizzando il metodo "Load". Si vede spesso che alcune persone equiparano i dati JSON e un dizionario Python, poiché la sintassi per definire entrambi è quasi la stessa. Tuttavia, i dati JSON non sono altro che una stringa di testo strutturata in una sintassi rigida mentre un dizionario di Python è un oggetto Struttura dati memorizzato in memoria. Se si desidera archiviare i dati del dizionario in un file di testo o inviarli a un altro programma non python, dovrai prima convertirli in una stringa di testo (byte). Questa stringa di testo scaricata / convertita è definita nella sintassi standard di JSON e il processo di conversione di un dizionario Python in una stringa compatibile JSON è chiamato serializzazione.

Leggere e scaricare i dati JSON in Python

I dati JSON possono essere recuperati come un modulo di risposta, leggi dal file, tagliato dai parametri di query URL e così via. Questo articolo si concentrerà principalmente sulla lettura dei dati JSON da un file archiviato localmente. Supponiamo che un "test.Il file JSON ”contiene i seguenti dati:

"codice in codice": "eoan ermine", "versione": "Ubuntu 19.10 "

Per leggere il test.File JSON in Python, puoi utilizzare il codice qui sotto:

Importa JSON
con aperto ("Test.json ") come f:
Data = JSON.carico (f)
Dump = JSON.dumps (dati)
Stampa (dati)
Stampa (tipo (dati))
Stampa (dump)
stampa (tipo (dump))

La prima riga nel codice sopra importa il modulo JSON. Nella riga successiva, "con aperto" viene utilizzato per leggere in sicurezza i contenuti del file. All'interno del blocco "con aperto", "JSON.Il metodo load ”viene utilizzato per leggere e archiviare i contenuti del file nella variabile" dati ". I dati caricati nel passaggio precedente vengono convertiti in stringa JSON utilizzando "JSON.Metodo dump ". L'esecuzione del codice sopra mostrerà il seguente output:

'Codename': 'Eoan Ermine', 'Versione': 'Ubuntu 19.10 '

"codice in codice": "eoan ermine", "versione": "Ubuntu 19.10 "

Si noti nell'output sopra che il "JSON.Il metodo load ”legge i dati JSON RAW in un dizionario Python mentre" JSON.I metodi dumps ”converte un dizionario in una stringa compatibile con la struttura JSON. Una volta che un oggetto JSON è stato convertito in un oggetto del dizionario Python, è possibile utilizzare metodi di dizionario Python integrati per gestire i dati. L'esempio sopra è piuttosto semplice e non include array nei dati JSON o valori nidificati. Tuttavia, all'interno di Python, è possibile gestire questi valori come altri dizionari e elenchi nidificati.

Ordinamento e bei dati JSON

Il "json.Il metodo dump ”supporta alcuni parametri opzionali per l'ordinamento dei tasti e la stampare piuttosto output per una migliore leggibilità.

Importa JSON
con aperto ("Test.json ") come f:
Data = JSON.carico (f)
Dump = JSON.dumps (dati, sort_keys = true, indent = 4)
Stampa (dump)

Il codice sopra mostrerà il seguente output:


"Codename": "Eoan Ermine",
"Versione": "Ubuntu 19.10 "

Conversioni del tipo di dati

L'elenco seguente illustra come i valori JSON vengono convertiti in oggetti Python e viceversa.

JSON Pitone
corda str
numero int o float
vero falso Vero falso
nullo Nessuno
vettore elenco
oggetto DICT

JSON.Modulo riga di comando dello strumento

Python include una bella utilità di comando “JSON.Strumento "che può essere utilizzato per convalidare e stampare le stringhe e i file JSON.

$ echo '"codice di codice": "eoan ermine", "versione": "Ubuntu 19.10 " '| python3 -m json.attrezzo

L'esecuzione del comando sopra ti mostrerà il seguente output:


"Codename": "Eoan Ermine",
"Versione": "Ubuntu 19.10 "

Puoi anche usare JSON.Strumento con i file JSON. Sostituisci "in_file" e "out_file" nel comando sottostante con i valori desiderati:

$ python3 -m json.strumento in_file out_file

Oltre a una bella stampa, ordinamento e convalida dei dati JSON, JSON.Lo strumento non fa nient'altro. Quindi, se si desidera manipolare i dati JSON, devi scrivere il tuo codice personalizzato utilizzando il modulo JSON integrato.