Analizzare JSON in Python - 3 semplici passi

Guide, Come fare, Pitone, Aug-26-20225 minuti di lettura

Il parsing dei dati JSON con Python facilita la trasformazione dei dati grazie alla loro qualità leggera. International Data Corporation prevede che, entro il 2022, il settore dei Big Data e delle imprese aumenterà del 62% rispetto al 2018. Poiché la condivisione dei dati è una cosa abbastanza comune nel mondo digitale, le persone intendono inviare carichi di dati dai loro server principali ai server aziendali.

Il parsing dei dati JSON con Python facilita la trasformazione dei dati grazie alla loro qualità leggera. International Data Corporation prevede che, entro il 2022, il settore dei Big Data e delle imprese aumenterà del 62% rispetto al 2018. Poiché la condivisione dei dati è piuttosto comune nel mondo digitale, le persone intendono inviare carichi di dati dai loro server principali alle applicazioni client o da un server ad altri database. Le persone si affidano fortemente a formati di file di interscambio dati come JSON per trasmettere i dati al dispositivo dall'altra parte che li converte in un formato leggibile dall'utente. In questo articolo analizzeremo cos'è JSON, come analizzare JSON in Python e perché?

Indice dei contenuti

Perché analizzare JSON in Python?

Poiché JSON è un formato leggero, questo facilita la trasformazione in termini di tempo e velocità. Per questo motivo i professionisti dei dati preferiscono inviare e ricevere messaggi in formato JSON. Tuttavia, quando i dati trasformati richiedono ulteriori operazioni, gli utenti devono convertirli in un linguaggio comprensibile alle macchine. È per questo che si analizza JSON in Python. In questo caso, lavoriamo con il linguaggio Python. Pertanto, dovremo leggere e analizzare il JSON utilizzando le librerie e le funzioni Python per accedere ai dati.

Per conoscere l'importanza del parsing dei dati, leggete questo articolo Parsing dei dati e vantaggi.

Che cos'è JSON?

Javascript Object Notation (JSON) è un formato di dati leggero che trasmette informazioni da un server a un'applicazione web in un formato leggibile dall'utente. Sebbene il formato JSON sia un derivato di JavaScript, utilizza il formato testo per rappresentare gli oggetti. Le macchine possono analizzare JSON in Python per convertire i dati JSON in formato leggibile dalla macchina.

Esempio di dati JSON

{
   "person": [
 
      {
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      },
 
      {
         “name": “Nitin",
         "age": "24",
         "languages": ["Java", “Python”]
      }
   ]
}

Ecco una stringa JSON di esempio. Il contenuto all'interno delle parentesi graffe è un oggetto e i dati all'interno delle parentesi quadre sono un array. 

Come analizzare JSON in Python

The JSON string {“name”: “John”, “age”: “26”, “languages”: [“C”, “Python”]} is similar to the dictionaries in Python. Just like dictionaries, JSON also has keys and values. Here the keys and value pairs are separated with a colon. The ‘name,’ ‘age,’ and ‘languages’ are the keys, and the data after the colon are the values of the respective keys. JSON can be accessed in Python using the JSON library that holds all the functions to convert the JSON strings into Python dictionaries and vice versa. 

Python può accedere ai dati JSON importando la libreria JSON nel codice python. Il modulo JSON di Python consente all'utente di leggere, scrivere, analizzare ed eseguire altre operazioni sui dati JSON.

 importare json

Analizzare i dati JSON in oggetti Python

I dati JSON sono di molti tipi, come stringhe, array, oggetti, numeri, file e molti altri. 

Python Parse JSON - Oggetto Python equivalente

Dopo aver ricevuto i dati JSON, il compito principale è quello di convertirli in tipi di dati Python. Questa tabella mostra l'elenco dei tipi di dati JSON e i loro formati Python equivalenti.

Tipi di dati JSONTipi di dati Python
oggettodettatura
arrayelenco, tupla
stringastr
numeroint, float
veroVero
falsoFalso
nessunoNullo

Steps to Parse different JSON Data into Python

Qui impareremo come analizzare alcuni dati JSON nel loro formato equivalente in Python. 

Stringhe JSON in dizionari PythonArray JSON in elenchi PythonFile JSON in oggetti Python. 

Analizzare JSON in Python - Convertire le stringhe in dizionari

Consideriamo un esempio di stringa JSON.

{
  "name": "John", 
  "age": "26"
 }

L'assegnazione della stringa in una variabile può facilitare le operazioni di parsing, passando la variabile nelle funzioni. Esempio: print(persona)

person ='{"name": "John", "age": "26"}'

L'istruzione print(person) stampa la stringa. 

person ='{"name": "John", "age": "26"}'
print(person)

Uscita 

{“name”: “John”, “age”: “26”}

Passando la variabile nella funzione type() ci si assicura che i dati siano stringhe.

person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))

Uscita 

{“name”: “John”, “age”: “26”}

<class ‘str’>

Conversione di stringhe in dizionari

Il passo iniziale consiste nell'analizzare i dati JSON, che sono in forma di stringa, in una forma adatta a Python. Come già detto, le stringhe JSON e i dizionari Python sono abbastanza simili, poiché entrambi hanno una struttura a coppie chiave-valore. Per leggere e analizzare i dati JSON in Python, importiamo innanzitutto la libreria JSON. La funzione loads() viene utilizzata per analizzare le stringhe JSON in un dizionario Python. La 's' nella funzione loads() indica la stringa.

importare json
 json.loads(STRNAME)

Consideriamo la stringa JSON stampata nell'esempio precedente. 

person ='{"name": "John", "age": "26"}'
 print(person)

Utilizzando la funzione json.loads() per convertire la stringa nel dizionario python. Il termine 'json' in json.loads() indica il nome della libreria. 

json.loads(persona)

È inoltre necessario assegnare l'istruzione load() a una nuova variabile. In questo caso, abbiamo utilizzato la variabile 'person_dxnry'. 

person_dxnry = json.loads(person)pyt

Dopo aver convertito la stringa in un dizionario e averla assegnata a una nuova variabile, possiamo usare la funzione type() per vedere il tipo di dati prima e dopo la conversione.

print(tipo(persona))
print(type(person_dxnry))
import json
 person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))
 person_dxnry = json.loads(person)
 print(person_dxnry)
 print(type(person_dxnry))

Uscita:

{“name”: “John”, “age”: “26”}

<class ‘str’>

{‘name’: ‘John’, ‘age’: ’26’}

<class ‘dict’>

Qui, le funzioni type() mostrano che il tipo è una stringa nel caso iniziale e poi diventa un dizionario dopo la conversione. 

Analizzare JSON in Python - Convertire un array in un elenco

Proviamo a convertire un altro tipo di dati JSON in una struttura Python, utilizzando questo esempio di codice JSON che contiene un array.

{
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      }

Possiamo assegnare l'array a una variabile 'languages' per passarlo alla funzione loads(). Quindi possiamo creare una nuova variabile 'language_list' per assegnare il risultato della funzione loads().

linguaggi = '["C", "Python"]'
 languages_list = json.loads(languages)
importare jsonpyt
 linguaggi = '["C", "Python"]'
 languages_list = json.loads(languages)
 print(languages_list)
 print(type(languages_list))

L'uso delle funzioni type() per entrambe le variabili può aiutarci a verificare i tipi di dati.

Uscita

['C', 'Python'].

<class ‘list’>

Questo output dice che l'array JSON in 'languages' viene convertito in un elenco dalla funzione loads().

Analizzare JSON in Python - Da file a oggetto

Il formato JSON più comune è una stringa. Ci sono anche molte possibilità di ricevere dati in formato JSON come file. Qualunque sia il tipo di dati, l'obiettivo finale è quello di analizzarli in un formato leggibile da Python. Per il parsing si possono usare due funzioni, come load() e loads(). Queste funzioni di parsing JSON si differenziano per il tipo di dati JSON. Discuteremo brevemente queste funzioni nelle prossime sezioni.

La libreria JSON integrata in Python fornisce un'altra funzione di conversione "load()" per leggere e analizzare il file JSON in Python. 

Come leggere e analizzare un file JSON?

Parsare JSON in Python - Tre metodi.

Il passo iniziale è salvare questo codice di esempio con il nome 'person.json'.

{
         "name": "John",
         "age": "26",
      }

Esistono due funzioni per analizzare un file JSON. Una è la funzione open(). Il metodo open() aiuta ad aprire il file JSON e istruisce il compilatore a eseguire il processo di conversione utilizzando l'operazione load(). 

con open('person.json') come file:pyt

Dopo aver aperto il file JSON, dobbiamo creare una variabile 'data' per assegnare le operazioni di caricamento.

dati = json.load(file)

Infine, possiamo usare la funzione type() per verificare il tipo di contenuto.

print(tipo(dati))

Possiamo accedere agli elementi del dizionario convertito usando la variabile 'data' e passando le chiavi del dizionario come 'name' e 'age'.

print(dati['età'])
 print(dati['nome'])
importare json
con open('person.json') as file:
dati = json.load(file)
print(type(data))
print(dati['età'])
print(dati['nome'])

Uscita:

<class ‘dict’>

26

Giovanni

L'output dice che il tipo è 'dictionary'. Questo output significa che abbiamo convertito con successo il file JSON in un elenco.

Scrivere Python in JSON

Possiamo anche convertire i moduli di dati Python in JSON con le funzioni dumps() e dump(). Sono i processi inversi delle funzioni load() e loads(). Prendiamo un dizionario Python e convertiamolo in una stringa JSON, usando la funzione dump(). 

 Abbiamo definito un dizionario Python come 'person_dictionary'. 

person_dictionary = {'name': 'John', 'age': 26 }

Utilizzare la funzione dumps() per eseguire l'operazione di conversione e assegnarla a una nuova variabile "person_json".

person_json = json.dumps(person_dictionary)
 print(person_json)
import json
person_dictionary = {'name': 'John',
 'age': 26
 }
 person_json = json.dumps(person_dictionary)
 print(person_dictionary)
 print(type(person_dictionary))
 print(person_json)
 print(type(person_json))

Uscita:

{‘name’: ‘John’, ‘age’: 26}

<class ‘dict’>

{“name”: “John”, “age”: 26}

<class ‘str’>

L'uso della funzione type() per entrambe le variabili 'person_dictioanry' e 'person_json' assicura la conversione del formato Python in una stringa JSON.

Come possono essere utili i Proxy?

Il parsing JSON è ampiamente preferito nelle applicazioni di trasformazione dei dati, come lo scraping, l'analisi, la migrazione dei dati e i processi di integrazione dei dati. Queste soluzioni con proxy vi aiuteranno ad avere un'esperienza migliore di scraping e trasformazione dei dati illimitata con python. Leggete questo blog per sapere come aggiungere proxy alle richieste in python. Proxyscrape fornisce proxy di vario tipo per aiutare il processo di parsing.

Legge anche

Comprendere le deleghe scolastiche

Come configurare i proxy cURL

Concatenamento di proxy

Domande frequenti:

1. Perché analizzare JSON in Python?
Il parsing di JSON è possibile anche con altri linguaggi; il parsing di Python è piuttosto popolare perché fornisce un pacchetto JSON integrato per gestire facilmente la lettura, la conversione e la scrittura di dati JSON. Questo parsing è utile in applicazioni come il webscraping, lo scraping di notizie, il data wrangling, il data mining, lo scraping dei motori di ricerca e le industrie di marketing, quando è richiesta la trasformazione dei dati.
2. Indicare alcuni linguaggi che supportano JSON.
Il formato JSON supporta C++, Java, PHP, C# e Python.
3. Cosa sono gli oggetti JSON?
Gli oggetti JSON sono collezioni di coppie di nomi e valori all'interno di parentesi graffe. Ogni coppia nome/valore è separata da una virgola, mentre il nome è seguito da due punti.

Sintesi

JSON è diventato un elemento essenziale quando si lavora sui siti web. Quando c'è bisogno di trasferire o condividere dati, si usa spesso il formato JSON, perché è leggero e facilmente intercambiabile. Il formato JSON è più simile a una forma di testo, quindi gli utenti possono comprendere facilmente il contenuto. Anche la macchina può leggere e analizzare il contenuto in un formato compatibile con la macchina. Qui abbiamo discusso alcune funzionalità di conversione in Python, come open(), load(), loads(), dump() e dumps(). Queste funzioni integrate del modulo JSON possono leggere e analizzare i dati dal formato JSON ai tipi di dati Python e viceversa.