Python

Vytvorte odpoveď JSON v Pythone

Vytvorte odpoveď JSON v Pythone

Súbor JSON (JavaScript Object Notation) je veľmi populárne médium na výmenu údajov medzi rôznymi formátmi. Obsahuje údaje v textovom formáte, ktoré sú podporované rôznymi jazykmi, ako sú Python, PHP, PERL atď. Hlavným účelom súboru JSON je prenos údajov medzi serverom a klientom. Požiadavky generuje Python na načítanie údajov z identifikátora URI konkrétneho zdroja. Ak je odpoveď na požiadavku vrátená vo formáte JSON, potom je možné obsah odpovede získať pomocou odpovede.funkcia json (). Vráti odpoveď pomocou objektu slovníka Python. Ako sa dá táto funkcia použiť na analýzu odpovede JSON pomocou knižnice požiadaviek Pythonu, sa dozviete v tomto výučbe.

Odpoveď JSON:

Modul žiadosti Pythonu obsahuje dekodér JSON na prácu s údajmi JSON. Odpoveď.Funkcia json () vráti odpoveď JSON, ak dekodér JSON funguje správne. Odpoveď.Funkcia json () vyvolá výnimku, ak zlyhá dekodér JSON a odpoveď JSON neobsahuje žiadne údaje alebo neplatné údaje. Návratová hodnota odpovede.funkciu raise_for_status () alebo odpoveď.je potrebné pred vykonaním odpovede skontrolovať status_code.funkcia json ().

Rôzne použitia odpovede.json ():

Tri rôzne použitia odpovede.V tejto časti tutoriálu sa zobrazí funkcia json ().

Príklad 1: Jednoduché použitie odpovede.json ()

Jednoduché použitie odpovede.V tomto príklade bude vysvetlená funkcia json (). Odpoveď na požiadavku na získanie URI, https: // api.github.com / je uložený v premennej s názvom response. Ďalej sa kontroluje hodnota premennej odpovede. Ak premenná odpovede obsahuje neplatnú odpoveď, vypíše chybové hlásenie. Ak premenná odpovede obsahuje platnú odpoveď, ktorá je stavovým kódom odpovede a jej obsahom, vytlačí sa správa o úspechu.

# Modul požiadaviek na import
požiadavky na import
# Vytvorte žiadosť o získanie
odpoveď = požiadavky.get ('https: // api.github.com / ')
# Skontrolujte odpoveď
ak odpoveď:
# Vytlačte kód stavu odpovede
print ('Stavový kód odpovede je% d'% odpoveď.status_code)
# Vytlačte obsah JSON
print ('Obsah JSON je: \ n% s'% odpoveď.json ())
# Vytlačte správu o úspechu
print ('\ nŽiadosť bola úspešne spracovaná.")
inak:
# Vytlačte chybové hlásenie pre neplatnú odpoveď
print ('Neplatná odpoveď.")

Výkon:

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúci výstup.

Príklad 2: Použitie odpovede.json () s obsluhou výnimiek

Spôsob použitia odpovede.V tomto príklade sa zobrazí funkcia json () s obsluhou výnimiek. Na spracovanie výnimky sa modul HttpError importuje s modulom požiadavky do skriptu. Tu bude používateľovi poskytnutá adresa URI na použitie požiadaviek.funkcia get (). Odpoveď na túto požiadavku bude uložená v premennej odpovede. Ďalej odpoveď.Funkcia raise_for_status () sa používa na kontrolu odpovede žiadosti, či je platná alebo neplatná. Ak je odpoveď neplatná, vygeneruje sa výnimka a na základe výnimky sa vykoná kód ktoréhokoľvek bloku okrem. Ak je odpoveď platná, potom bude obsah premennej odpovede iterovaný pomocou slučky for na vytlačenie hodnôt slovníka v každom riadku, ktorý obsahuje údaje odpovede.

# Modul požiadaviek na import
požiadavky na import
# Import HTTPError pre spracovanie výnimiek
z požiadaviek.výnimky importujú HTTPError
# Definujte URI
uri = vstup ('Zadajte platný URI: \ n')
# Vytlačte čakajúcu správu
print ('Čaká sa na odpoveď ... \ n')
skúste:
# Vytvorte požiadavku na získanie čítania obsahu informačných kanálov github
odpoveď = požiadavky.dostať (uri)
# Zvýšte výnimku, ak bola odpoveď neúspešná
odpoveď.raise_for_status ()
# Prečítajte si obsah JSON
jsonResponse = odpoveď.json ()
print ("Obsah JSON je: \ n")
# Prečítajte a vytlačte každý pár kľúč - hodnota z odpovede JSON
pre kľúč hodnotu v jsonResponse.položky ():
tlač (kľúč, ":", hodnota)
# Tlačiť chybové hlásenie pre chybu HTTP
okrem HTTPError ako http_err:
print ('Vyskytla sa chyba HTTP:% s'% http_err)
# Tlačiť chybové hlásenie pre chybu HTTP
okrem Výnimky ako chyba:
tlač ('Vyskytla sa iná chyba:% s'% err)

Výkon:

Nasledujúci výstup sa zobrazí po vykonaní skriptu, keď používateľ poskytne hodnotu URI neexistencie. Tu bola vygenerovaná výnimka HTTPError spolu s príslušnou chybovou správou.


Nasledujúci výstup sa objaví po vykonaní skriptu, keď používateľ poskytne neplatnú hodnotu URI. Tu sa vygenerovala ďalšia výnimka so zodpovedajúcou chybovou správou.

Nasledujúci výstup sa objaví po vykonaní skriptu, keď používateľ poskytne platnú hodnotu URI. Tu bol obsah JSON vytlačený správne.

Príklad-3: Použitie odpovede.json () s reťazcom dotazu

Spôsob použitia odpovede.V tomto príklade sa zobrazí funkcia json () s reťazcom dotazu. Tu žiadosti.funkcia get () použila hodnotu reťazca dotazu s URI pomocou parametrov. Bude prehľadávať položky pre jazyk PERL v daných úložiskách. Ak premenná odpovede obsahuje platnú odpoveď, vytlačí sa názov a popis úložiska, inak sa zobrazí chybové hlásenie.

# Modul požiadaviek na import
požiadavky na import
# Vyhľadávanie v úložisku github pomocou reťazca dotazu
odpoveď = požiadavky.dostať (
„https: // api.github.com / search / repositories ',
params = 'q': 'požiadavky + jazyk: perl',
)
# Skontrolujte odpoveď
ak odpoveď:
# Prečítajte si obsah JSON
json_response = odpoveď.json ()
# Prečítajte si konkrétnu položku úložiska
repository = json_response ['items'] [0]
# Vytlačte si názov úložiska
print ('Repository name:% s'% repository ["name"])
# Vytlačte si popis úložiska
print ('Popis repozitára:% s'% repozitár ["description"])
inak:
# Vytlačte chybové hlásenie pre neplatnú odpoveď
print ('Neplatná odpoveď.")

Výkon:

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu bol vytlačený názov a popis úložiska pre jazyk PERL.

Záver:

Rôzne spôsoby, ako poslať požiadavku na konkrétny URI a prečítať odpoveď pomocou odpovede.Funkcia json () bola v tomto tutoriále ukázaná na jednoduchých príkladoch. Dúfam, že tento návod pomôže čitateľom pochopiť použitie odpovede JSON v Pythone a správne ich použiť v ich skripte, keď je to potrebné.

Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...
Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...