Piton

Creați un răspuns JSON în Python

Creați un răspuns JSON în Python

Fișierul JSON (JavaScript Object Notation) este un mediu foarte popular pentru schimbul de date între diferite formate. Conține date în format text care sunt acceptate de diferite limbi, cum ar fi Python, PHP, PERL etc. Scopul principal al fișierului JSON este de a transfera date între server și client. Solicitările sunt generate de Python pentru a prelua datele dintr-un anumit URI de resursă. Dacă răspunsul la cerere este returnat în format JSON, atunci conținutul răspunsului poate fi recuperat folosind răspunsul.funcția json (). Returnează răspunsul utilizând un obiect dicționar Python. Modul în care această funcție poate fi utilizată pentru a analiza răspunsul JSON utilizând biblioteca de cereri Python va fi prezentat în acest tutorial.

Răspuns JSON:

Modulul de solicitare al Python conține decodorul JSON pentru a lucra cu datele JSON. Raspunsul.Funcția json () returnează un răspuns JSON dacă decodorul JSON funcționează corect. Raspunsul.funcția json () ridică excepția dacă decodificatorul JSON eșuează și răspunsul JSON nu conține date sau date nevalide. Valoarea returnată a răspunsului.funcția raise_for_status () sau răspunsul.status_code trebuie verificat înainte de a executa răspunsul.funcția json ().

Utilizări diferite ale răspunsului.json ():

Trei utilizări diferite ale răspunsului.Funcția json () va fi afișată în această parte a tutorialului.

Exemplul-1: Utilizarea simplă a răspunsului.json ()

Simpla utilizare a răspunsului.Funcția json () va fi expusă în acest exemplu. Răspunsul pentru solicitarea de obținere a URI-ului, https: // api.github.com / este stocat într-o variabilă numită răspuns. Apoi, se verifică valoarea variabilei de răspuns. Dacă variabila de răspuns conține un răspuns nevalid, atunci va imprima un mesaj de eroare. Dacă variabila de răspuns conține un răspuns valid care este codul de stare al răspunsului și conținutul acestuia, se va imprima un mesaj de succes.

# Modulul de cereri de import
solicitări de import
# Creați o cerere de primire
răspuns = solicitări.get ('https: // api.github.com / ')
# Verificați răspunsul
dacă răspunsul:
# Imprimați codul de stare a răspunsului
print („Codul de stare al răspunsului este% d”% răspuns.status_code)
# Imprimați conținutul JSON
print ('Conținutul JSON este: \ n% s'% răspuns.json ())
# Imprimați mesajul de succes
print ('\ nCererea este gestionată cu succes.')
altceva:
# Imprimați mesajul de eroare pentru răspunsul nevalid
print ('Răspuns nevalid.')

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus.

Exemplul-2: Utilizarea răspunsului.json () cu gestionarea excepțiilor

Modul de utilizare a răspunsului.Funcția json () cu gestionarea excepțiilor va fi afișată în acest exemplu. Modulul HttpError este importat împreună cu modulul de solicitare din script pentru a gestiona excepția. Aici, adresa URI va fi preluată de la utilizator pentru a utiliza solicitările.funcția get (). Răspunsul la această solicitare va fi stocat în variabila de răspuns. Apoi, răspuns.Funcția raise_for_status () este utilizată pentru a verifica răspunsul la cerere dacă este validă sau invalidă. Dacă răspunsul este nevalid, atunci va fi generată o excepție și codul oricărui bloc cu excepția va fi executat pe baza excepției. Dacă răspunsul este valid, atunci conținutul variabilei de răspuns va fi iterat folosind o buclă for pentru a imprima valorile dicționarului în fiecare linie care conține datele de răspuns.

# Modulul de cereri de import
solicitări de import
# Importați HTTPError pentru gestionarea excepțiilor
din cereri.excepții import HTTPError
# Definiți URI-ul
uri = input ('Introduceți un URI valid: \ n')
# Imprimați mesajul de așteptare
print („Se așteaptă răspunsul ... \ n”)
încerca:
# Creați o cerere de primire pentru a citi conținutul fluxurilor din github
răspuns = solicitări.obține (uri)
# Creșteți excepția dacă răspunsul nu a reușit
raspuns.raise_for_status ()
# Citiți conținutul JSON
jsonResponse = răspuns.json ()
print ("Conținutul JSON este: \ n")
# Citiți și tipăriți fiecare pereche cheie-valoare din răspunsul JSON
pentru cheie, valoare în jsonResponse.articole ():
print (cheie, ":", valoare)
# Imprimați mesajul de eroare pentru eroarea HTTP
cu excepția HTTPError ca http_err:
print („A apărut o eroare HTTP:% s”% http_err)
# Imprimați mesajul de eroare pentru eroarea HTTP
cu excepția excepției ca eroare:
print („A apărut o altă eroare:% s”% eroare)

Ieșire:

Următoarea ieșire va apărea după executarea scriptului când o valoare URI inexistentă va fi furnizată de utilizator. Aici, excepția HTTPError a fost generată alături de mesajul de eroare corespunzător.


Următoarea ieșire va apărea după executarea scriptului atunci când utilizatorul va furniza o valoare URI nevalidă. Aici, cealaltă excepție a fost generată cu un mesaj de eroare corespunzător.

Următoarea ieșire va apărea după executarea scriptului atunci când utilizatorul va furniza o valoare URI validă. Aici, conținutul JSON a fost tipărit corect.

Exemplul-3: Utilizarea răspunsului.json () cu șir de interogare

Modul de utilizare a răspunsului.Funcția json () cu șir de interogare va fi afișată în acest exemplu. Aici, cererile.Funcția get () a folosit o valoare a șirului de interogare cu URI utilizând parametri. Va căuta în intrări limba PERL din depozitele date. Dacă variabila de răspuns conține un răspuns valid, atunci numele și descrierea depozitului vor fi tipărite, în caz contrar, va apărea un mesaj de eroare.

# Modulul de cereri de import
solicitări de import
# Căutarea în depozitul github folosind șir de interogare
răspuns = solicitări.obține(
'https: // api.github.com / căutare / depozite ',
params = 'q': 'solicitări + limbă: perl',
)
# Verifică răspunsul
dacă răspunsul:
# Citiți conținutul JSON
json_response = răspuns.json ()
# Citiți articolul special din depozit
depozit = json_response ['items'] [0]
# Imprimați numele depozitului
print ('Nume depozit:% s'% depozit ["nume"])
# Imprimați descrierea depozitului
print ('Descriere depozit:% s'% depozit ["descriere"])
altceva:
# Imprimați mesajul de eroare pentru răspunsul nevalid
print ('Răspuns nevalid.')

Ieșire:

Următoarea ieșire va apărea după executarea scriptului de mai sus. Numele și descrierea depozitului pentru limba PERL au fost tipărite aici.

Concluzie:

Diferite moduri de a trimite cererea către un anumit URI și de a citi răspunsul folosind răspunsul.Funcția json () a fost prezentată în acest tutorial folosind exemple simple. Sper că acest tutorial va ajuta cititorii să înțeleagă utilizarea răspunsului JSON în Python și să-l aplice corect în scriptul lor atunci când este necesar.

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Cum să capturați și să transmiteți în flux sesiunea de jocuri pe Linux
În trecut, jocurile erau considerate doar un hobby, dar cu timpul industria jocurilor a cunoscut o creștere imensă în ceea ce privește tehnologia și n...
Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...