Come cercare i dati in JSON usando Python

Come cercare i dati in JSON usando Python

Una delle tecniche di serializzazione dei dati più utilizzate è il formato JSON. Python ha un modulo integrato JSON per lavorare con i dati JSON. Supporta tutti i tipi di tipi di dati primitivi come numero, stringa, ecc. Insieme agli oggetti Python. I dati sono archiviati in un formato strutturato in JSON. A volte è necessario cercare un determinato dati da una grande stringa JSON o da un file JSON. Esistono molti modi per cercare dati specifici dai dati JSON. In questo articolo è mostrato come i dati JSON possono essere cercati in base alla chiave o al valore utilizzando lo script Python.

Esempio-1: chiave di ricerca in semplici dati JSON

Il seguente script mostra come cercare se esiste una chiave particolare in una stringa JSON. Qui, una variabile denominata dati dei clienti è definito per archiviare i dati JSON. Il valore della chiave verrà preso come input dall'utente. Il metodo Loads () del modulo JSON viene utilizzato per caricare i dati JSON nella variabile denominata cliente. Prossimo, 'In' L'operatore viene utilizzato per cercare la chiave.

#!/usr/bin/env python3
# Importa il modulo JSON
Importa JSON
# Definisci i dati JSON
customerData = "" "
"Id": "3425678",
"Nome": "John Micheal",
"Email": "[email protected] ",
"tipo": "regolare",
"Indirizzo": "4258 Poplar Chase Lane, Boise, Idaho."
"" "
# Inserisci il valore chiave che si desidera cercare
keyval = input ("Immettere un valore chiave: \ n")
# Carica i dati JSON
Cliente = JSON.Carichi (CustomerData)
# Cerca il valore della chiave utilizzando "in" operatore
Se keyval nel cliente:
# Stampa il messaggio di successo e il valore della chiave
print (" %s si trova in JSON Data" %Keyval)
print ("Il valore di", keyval "è", cliente [keyval])
altro:
# Stampa il messaggio se il valore non esiste
Stampa (" %s non si trova nei dati JSON" %keyval)

Produzione:

Lo script viene eseguito due volte qui. Un valore chiave esistente viene dato per la prima volta e un valore chiave inesistente viene dato per la seconda volta.

Esempio-2: cerca un valore particolare nei dati JSON

Il seguente script mostra come cercare un valore particolare nei dati JSON. candidati La variabile contiene i dati JSON in cui la chiave viene utilizzata per archiviare il nome e il valore del richiedente vengono utilizzati per archiviare il richiedente è presente o assente. Lo script cercherà il valore "assente" nei dati JSON e stampa il valore del nome corrispondente. per Loop viene utilizzato qui iterare i dati JSON.

#!/usr/bin/env python3
# Importa il modulo JSON
Importa JSON
# Definisci i dati JSON
Applicanti = "" "
"Scott C Aldridge": "Presente",
"Joe L Foss": "Presente",
"Clyde M Gold": "Presente",
"Monique C Doolittle": "assente",
"David M Volkert": "Presente",
"Israele m Oneal": "Presente",
"Elizabeth M Groff": "assente"
"" "
# Inizializza un contatore
contatore = 0
# Carica i dati JSON
Applist = JSON.Carichi (candidati)
# iterare JSON per trovare l'elenco del richiedente assente
per la chiave in Applist:
if (Applist [key] == 'assente'):
# Controlla il contatore del messaggio il messaggio
if (counter == 0):
Stampa ("I seguenti candidati sono assenti:")
Stampa (chiave)
contatore = contatore + 1
# Stampa il messaggio se non è assente alcun richiedente
if (counter == 0):
Stampa ("Tutti i candidati sono presenti")

Produzione:

Secondo i dati JSON dello script, due candidati sono assenti. Questo sarà l'output risultante dopo l'esecuzione dello script:

Esempio-3: valore di ricerca nei dati dell'array JSON utilizzando la funzione personalizzata

Nella sceneggiatura seguente, un array JSON chiamato JSONData è definito. Un valore particolare di una chiave verrà cercato qui e se esiste il valore, il valore di un'altra chiave correlata verrà stampato come output. Search_price () La funzione è definita qui, prendi il valore del nome Chiave che verrà cercato nei dati JSON e stamperà il valore del corrispondente prezzo unitario chiave.

#!/usr/bin/env python3
# Importa il modulo JSON
Importa JSON
# Definisci la variabile JSON
JSONDATA = "" "[

"nome": "penna",
"Unit_price": 5
,

"Nome": "Eraser",
"Unit_price": 3
,

"Nome": "Pencil",
"Unit_price": 10
,

"Nome": "White Paper",
"Unit_price": 15

] "" "
# Carica i dati JSON
Articoli = JSON.Carichi (JSondata)
# Inserisci il nome dell'elemento che desideri cercare
Item = Input ("Immettere un nome elemento: \ n")
# Definisci una funzione per cercare l'elemento
def search_price (nome):
per keyval negli articoli:
Se il nome.inferiore () == keyval ['name'].inferiore():
restituire keyval ['unit_price']
# Controlla il valore di ritorno e il messaggio di stampa
if (Search_price (elemento) != Nessuno):
Print ("Il prezzo è:", Search_price (articolo))
altro:
stampa ("L'elemento non è trovato")

Produzione:

Lo script viene eseguito due volte in questo output. 'matita' è preso come valore del nome chiave che esiste nel JSON dati. IL prezzo unitario Di 'matita' È 10 che è stampato. Prossimo, 'libro' è preso come un valore di input che non esiste nei dati JSON.

Esempio-4: chiave di ricerca nei dati JSON nidificati

Il seguente script mostra i passaggi sulla ricerca del valore di una chiave particolare nei dati JSON nidificati. Qui, una variabile JSON nidificata denominata nidificato è dichiarato per archiviare dati nidificati. Questo script cercherà il marchio di The Women Watch.

#!/usr/bin/env python3
# Importa il modulo JSON
Importa JSON
# Definisci la variabile JSON di dati nidificati
nonestData = "" "
"orologio":
"uomini":
"Brand": "Titan",
"Prezzo": 200
,
"donne":
"Brand": "Citizen",
"Prezzo": 250
,
"ragazzo":
"Brand": "Blancpain",
"Prezzo": 100


"" "
# Carica i dati JSON
WatchList = JSON.Carichi (nidificato)
# Cerca "marchio" per le donne
if 'marchio' in watchlist ['watch'] ['women']:
stampa (watchlist ['watch'] ['women'] ['marchio'])

Produzione:

Nella sceneggiatura sopra, c'è un solo valore del marchio per le donne che è 'Cittadino'. Quanto segue sarà l'output dopo l'esecuzione dello script.

Esempio-5: ricerca della voce da un file JSON utilizzando il metodo Filter e Lambda

I seguenti passaggi mostrano come è possibile cercare la voce da un file JSON in base a una chiave e valori particolari. Il contenuto di libri.JSON Il file è riportato di seguito.

libri.JSON

[

"ISBN": "7799349885",
"Nome": "Essentials of Vehicle Dynamics",
"Autore": "Joop P. Pauwelussen "
,

"ISBN": "7799349885",
"Nome": "Flusso e combustione nei motori alternativi",
"Autore": "C. Arcoumanis e t. Kamimoto "
,

"ISBN": "7799349885",
"Nome": "Interazione del veicolo del conducente di ergonomia automobilistica",
"Autore": "Nikolaos Gkikas"

"

Il seguente script cercherà la voce da libri.JSON file, dove il valore di l'autore La chiave è Nikolaos Gkikas usando Lambda E filtro() metodo.

#!/usr/bin/env python3
# Importa il modulo JSON
Importa JSON
# Apri il file JSON esistente per il caricamento in una variabile
con Open ('Libri.JSON ') come JSondata:
Data = JSON.carico (jsondata)
# Ricerca i dati in base al tasto e al valore utilizzando il metodo Filter ed Elenco
stampa (elenco (filtro (lambda x: x ["autore"] == "Nikolaos gkikas", dati))))

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Conclusione:

Quando si lavora con una grande quantità di dati JSON e devi scoprire facilmente le informazioni specifiche dai dati, dobbiamo utilizzare modi efficienti per svolgere l'attività. In questo articolo sono spiegati diversi modi per cercare i dati e il valore dei dati JSON per aiutare gli utenti di Python a eseguire il processo correttamente.