Crea una risposta JSON in Python

Crea una risposta JSON in Python

Il file JSON (JavaScript Object Notation) è un mezzo molto popolare per scambiare dati tra diversi formati. Contiene dati in formato di testo supportato da varie lingue come Python, PHP, Perl, ecc. Lo scopo principale del file JSON è trasferire i dati tra il server e il client. Le richieste sono generate da Python per recuperare i dati da un particolare URI di risorse. Se la risposta della richiesta viene restituita in formato JSON, il contenuto della risposta può essere recuperato utilizzando la risposta.funzione json (). Restituisce la risposta usando un oggetto Python Dizionario. In che modo questa funzione può essere utilizzata per analizzare la risposta JSON utilizzando la libreria di richieste Python verrà mostrata in questo tutorial.

Risposta di JSON:

Il modulo di richiesta di Python contiene il decodificatore JSON per lavorare con i dati JSON. La risposta.La funzione JSON () restituisce una risposta JSON se il decodificatore JSON funziona correttamente. La risposta.La funzione JSON () aumenta l'eccezione se il decodificatore JSON fallisce e la risposta JSON non contiene dati o dati non validi. Il valore di ritorno della risposta.Raccoglie_for_status () funzione o la risposta.deve essere controllato lo status_code prima di eseguire la risposta.funzione json ().

Diversi usi della risposta.json ():

Tre diversi usi della risposta.La funzione JSON () verrà mostrata in questa parte del tutorial.

Esempio-1: semplice uso della risposta.JSON ()

Il semplice uso della risposta.La funzione json () sarà esposta in questo esempio. La risposta per la richiesta GET dell'URI, https: // API.github.com/ è memorizzato in una variabile denominata risposta. Successivamente, il valore della variabile di risposta viene verificato. Se la variabile di risposta contiene una risposta non valida, verrà stampata un messaggio di errore. Se la variabile di risposta contiene una risposta valida che è il codice di stato della risposta e il suo contenuto verrà stampato un messaggio di successo.

# Modulo richieste di importazione
richieste di importazione
# Crea una richiesta GET
risposta = richieste.get ('https: // API.github.com/')
# Controlla la risposta
Se la risposta:
# Stampa il codice di stato di risposta
print ('Il codice di stato della risposta è %d' %Risposta.status_code)
# Stampa il contenuto JSON
Stampa ('Il contenuto JSON è: \ n %s' %Risposta.json ())
# Stampa il messaggio di successo
stampa ('\ nthe la richiesta viene gestita correttamente.')
altro:
# Stampa il messaggio di errore per la risposta non valida
Stampa ('risposta non valida.')

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-2: uso della risposta.JSON () con la gestione delle eccezioni

Il modo di usare la risposta.La funzione json () con la gestione delle eccezioni verrà mostrata in questo esempio. Il modulo httperror viene importato con il modulo di richiesta nello script per gestire l'eccezione. Qui, l'indirizzo URI verrà preso dall'utente per utilizzare le richieste.Ottieni () funzione. La risposta di questa richiesta verrà archiviata nella variabile di risposta. Successivamente, risposta.la funzione rasa_for_status () viene utilizzata per verificare la risposta della richiesta se è valida o non valida. Se la risposta non è valida, verrà generata un'eccezione e il codice di qualsiasi blocco verrà eseguito in base all'eccezione. Se la risposta è valida, il contenuto della variabile di risposta verrà iterato usando un ciclo per stampare i valori del dizionario in ciascuna riga che contiene i dati di risposta.

# Modulo richieste di importazione
richieste di importazione
# Importa httperror per la gestione delle eccezioni
da richieste.Eccezioni importanti httperror
# Definisci l'URI
Uri = input ('Immettere l'URI valido: \ n')
# Stampa Messaggio di attesa
print ('Aspettando la risposta… \ n')
Tentativo:
# Crea una richiesta GET per leggere Feeds Content of GitHub
risposta = richieste.Ottieni (Uri)
# Solleva l'eccezione se la risposta non ha avuto successo
risposta.rasa_for_status ()
# Leggi il contenuto JSON
JSONResponse = Response.JSON ()
Stampa ("Il contenuto JSON è: \ n")
# Leggi e stampa ogni coppia di valore chiave dalla risposta JSON
Per la chiave, il valore in jsonresponse.elementi():
Stampa (chiave ":", valore)
# Stampa Messaggio di errore per l'errore HTTP
Tranne httperror come http_err:
Print ('Errore HTTP si è verificato: %s' %http_err)
# Stampa Messaggio di errore per l'errore HTTP
Tranne l'eccezione come err:
print ('Altro errore si è verificato: %s' %err)

Produzione:

Verrà visualizzato il seguente output dopo l'esecuzione dello script quando l'utente verrà fornito un valore URI di non esistenza. Qui, l'eccezione Httperror era stata generata insieme al messaggio di errore corrispondente.


Verrà visualizzato il seguente output dopo l'esecuzione dello script quando l'utente verrà fornito un valore URI non valido. Qui, l'altra eccezione era stata generata con un messaggio di errore corrispondente.

Verrà visualizzato il seguente output dopo l'esecuzione dello script quando l'utente verrà fornito un valore URI valido. Qui, il contenuto JSON è stato stampato correttamente.

Esempio-3: uso della risposta.json () con stringa di query

Il modo di usare la risposta.La funzione json () con stringa di query verrà visualizzata in questo esempio. Qui, le richieste.get () funzione ha utilizzato un valore di stringa di query con l'URI usando i params. Cercherà le voci per la lingua perl nei repository indicati. Se la variabile di risposta contiene una risposta valida, il nome e la descrizione del repository verranno stampati, altrimenti ci sarà un messaggio di errore.

# Modulo richieste di importazione
richieste di importazione
# Ricerca nel repository di GitHub usando la stringa di query
risposta = richieste.Ottenere(
'https: // API.github.com/ricerca/repository ',
params = 'q': 'Richieste+lingua: perl',
)
# Controlla la risposta
Se la risposta:
# Leggi il contenuto JSON
json_response = risposta.JSON ()
# Leggi l'elemento particolare del repository
repository = json_response ['elementi'] [0]
# Stampa il nome del repository
print ('Nome repository: %s' %repository ["nome"])
# Stampa la descrizione del repository
print ('Descrizione del repository: %s' %repository ["descrizione"])
altro:
# Stampa il messaggio di errore per la risposta non valida
Stampa ('risposta non valida.')

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Il nome e la descrizione del repository per la lingua perl erano stati stampati qui.

Conclusione:

Diversi modi per inviare la richiesta a un particolare URI e leggere la risposta usando la risposta.La funzione JSON () è stata mostrata in questo tutorial usando semplici esempi. Spero che questo tutorial aiuti i lettori a comprendere l'uso della risposta JSON in Python e ad applicarlo correttamente nel loro script quando è necessario.