Pitone

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 testo supportato da vari linguaggi 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 risorsa. 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 utilizzando un oggetto dizionario Python. In questo tutorial verrà mostrato come questa funzione può essere utilizzata per analizzare la risposta JSON utilizzando la libreria di richieste Python.

Risposta JSON:

Il modulo di richiesta di Python contiene il decoder JSON per lavorare con i dati JSON. La risposta.La funzione json() restituisce una risposta JSON se il decoder JSON funziona correttamente. La risposta.La funzione json() solleva l'eccezione se il decodificatore JSON fallisce e la risposta JSON non contiene dati o dati non validi. Il valore di ritorno della risposta.La funzione raise_for_status() o la risposta.status_code deve essere controllato 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: uso semplice della risposta.json()

Il semplice uso della risposta.json() verrà esposta in questo esempio. La risposta per la richiesta get dell'URI, https://api.github.com/ è memorizzato in una variabile denominata response. Successivamente, viene controllato il valore della variabile di risposta. Se la variabile di risposta contiene una risposta non valida, stamperà 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 di ricezione
risposta = richieste.get('https://api.github.com/')
# Controlla la risposta
se risposta:
# Stampa il codice di stato della risposta
print('Il codice di stato della rispostaè%d' %response.codice_stato)
# Stampa il contenuto JSON
print('Il contenuto JSON è: \n%s' %response.json())
# Stampa il messaggio di successo
print('\nLa richiestaègestita con successo.')
altro:
# Stampa il messaggio di errore per la risposta non valida
print('Risposta non valida.')

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra.

Esempio 2: uso della risposta.json() con gestione delle eccezioni

Il modo di usare la risposta.In questo esempio verrà mostrata la funzione json() con gestione delle eccezioni. Il modulo HttpError viene importato con il modulo request nello script per gestire l'eccezione. Qui, l'indirizzo URI verrà preso dall'utente per utilizzare le richieste.funzione get(). La risposta a questa richiesta verrà memorizzata nella variabile di risposta. Avanti, risposta.La funzione raise_for_status() viene utilizzata per controllare la risposta della richiesta se è valida o non valida. Se la risposta non è valida, verrà generata un'eccezione e il codice di qualsiasi blocco salvo verrà eseguito in base all'eccezione. Se la risposta è valida, il contenuto della variabile di risposta verrà iterato utilizzando un ciclo for per stampare i valori del dizionario in ogni riga che contiene i dati di risposta.

# Modulo richieste di importazione
richieste di importazione
# Import HTTPError per la gestione delle eccezioni
dalle richieste.eccezioni import HTTPError
# Definisci l'URI
uri = input('Inserisci un URI valido:\n')
# Stampa messaggio in attesa
print('In attesa di risposta... \n')
provare:
# Crea una richiesta get per leggere il contenuto dei feed di github
risposta = richieste.ottenere (uri)
# Solleva un'eccezione se la risposta non ha avuto successo
risposta.rilancio_per_stato()
# Leggi il contenuto JSON
jsonResponse = risposta.json()
print("Il contenuto JSON è: \n")
# Leggi e stampa ogni coppia chiave-valore dalla risposta JSON
per chiave, valore in jsonResponse.elementi():
print(chiave, ":", valore)
# Stampa il messaggio di errore per l'errore HTTP
tranne HTTPError come http_err:
print('Si è verificato un errore HTTP: %s' %http_err)
# Stampa il messaggio di errore per l'errore HTTP
tranne Eccezione come errore:
print('Si è verificato un altro errore: %s' %err)

Produzione:

Il seguente output apparirà dopo l'esecuzione dello script quando un valore URI inesistente verrà fornito dall'utente. Qui, l'eccezione HTTPError è stata generata insieme al messaggio di errore corrispondente.


Il seguente output apparirà dopo l'esecuzione dello script quando l'utente fornirà un valore URI non valido. Qui, l'altra eccezione era stata generata con un messaggio di errore corrispondente.

Il seguente output apparirà dopo l'esecuzione dello script quando l'utente fornirà 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.In questo esempio verrà mostrata la funzione json() con stringa di query. Ecco, le richieste.La funzione get() utilizzava un valore della stringa di query con l'URI usando i parametri. Cercherà le voci per la lingua PERL nei repository indicati. Se la variabile di risposta contiene una risposta valida, verranno stampati il ​​nome e la descrizione del repository, altrimenti verrà visualizzato un messaggio di errore.

# Modulo richieste di importazione
richieste di importazione
# Ricerca nel repository di github utilizzando la stringa di query
risposta = richieste.ottenere(
'https://api.github.com/search/repository',
params='q': 'requests+language:perl',
)
# Controlla la risposta
se risposta:
# Leggi il contenuto JSON
json_response = risposta.json()
# Leggi il particolare elemento del repository
repository = json_response['items'][0]
# Stampa il nome del repository
print('Nome archivio: %s' %repository["nome"])
# Stampa la descrizione del repository
print('Descrizione repository: %s' %repository["descrizione"])
altro:
# Stampa il messaggio di errore per la risposta non valida
print('Risposta non valida.')

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra. Il nome del repository e la descrizione per il linguaggio PERL sono stati stampati qui.

Conclusione:

Diversi modi per inviare la richiesta a un particolare URI e leggere la risposta utilizzando la risposta.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 applicarla correttamente nel loro script quando è necessario.

Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...
I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...