Come analizziamo JSON in Python. Per prima cosa carichiamo un file JSON utilizzando il metodo json.load (). Il risultato è un dizionario Python. Possiamo quindi accedere ai campi utilizzando i metodi del dizionario.
JSON è un formato di scambio di dati leggero.
Per estrarre le informazioni da un file JSON o da una risposta JSON, dobbiamo analizzare i dati.
Useremo il seguente JSON nel nostro esempio:
{ 'store':{
'book':[
{
'category':'reference',
'author':'Nigel Rees',
'title':'Sayings of the Century',
'price':8.95
},
{
'category':'fiction',
'author':'Evelyn Waugh',
'title':'Sword of Honour',
'price':12.99
}
],
'bicycle':{
'color':'red',
'price':19.95
} }, 'expensive':10 }
Il primo passo è caricare il file JSON in Python:
import json with open('store.json') as json_file:
data = json.load(json_file) print(data)
Il file JSON è ora archiviato in data
variabile.
Il metodo di stampa stamperà solo il JSON sopra.
Nota:Il metodo sopra memorizzerà il JSON come file dizionario python . Possiamo verificarlo stampando il tipo, print (type (data)).Ora che abbiamo il nostro JSON come dizionario Python, possiamo recuperare alcuni dati specificando il campo, che rappresenta key
nel dizionario.
Ad esempio, per recuperare il prezzo della bicicletta nel JSON sopra, useremmo:
print(data['store']['bicycle']['price'])
Produzione:
19.95
Nell'esempio JSON precedente, il campo 'book' è un array JSON.
Possiamo usare la notazione dell'indice per recuperare elementi particolari.
Ad esempio, per ottenere il nome del secondo libro useremmo:
print(data['store']['book'][1]['title'])
Produzione:
Sword of Honour
Supponiamo di voler ottenere tutti i libri che hanno un prezzo inferiore o uguale a 10.00.
Quindi useremmo:
books = data['store']['book'] for book in books:
if book['price'] <= 10.00:
print(book)
Produzione:
{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}
In questo post abbiamo visto come analizzare JSON in Python. Il punto chiave qui è che una volta caricato il file JSON, viene archiviato come dizionario Python. Una volta ottenuto il dizionario, possiamo quindi utilizzare i normali metodi del dizionario per estrarre valori specifici da JSON.