Python

Looge Pythonis JSON-vastus

Looge Pythonis JSON-vastus

JSON-fail (JavaScripti objektide märkimine) on väga populaarne meedium erinevate formaatide vahel andmete vahetamiseks. See sisaldab andmeid tekstivormingus, mida toetavad erinevad keeled, näiteks Python, PHP, PERL jne. JSON-faili peamine eesmärk on andmete edastamine serveri ja kliendi vahel. Taotlused genereerib Python andmete hankimiseks konkreetse ressursi URI-st. Kui päringu vastus tagastatakse JSON-vormingus, saab vastuse sisu kätte saada vastuse sisu abil.json () funktsioon. See tagastab vastuse Pythoni sõnaraamatu objekti abil. Kuidas seda funktsiooni saab kasutada JSON-vastuse sõelumiseks Pythoni päringute teegi abil, näidatakse selles õpetuses.

JSONi vastus:

Pythoni päringute moodul sisaldab JSON-andmetega töötamiseks JSON-dekooderit. Vastus.Funktsioon json () tagastab JSON-vastuse, kui JSON-dekooder töötab korralikult. Vastus.Funktsioon json () tekitab erandi, kui JSON-dekooder ebaõnnestub ja JSON-i vastus ei sisalda andmeid ega kehtetuid andmeid. Vastuse tagastusväärtus.function_for_status () funktsioon või vastus.status_code tuleb enne vastuse käivitamist kontrollida.json () funktsioon.

Vastuse erinevad kasutusalad.json ():

Vastuse kolm erinevat kasutamist.Juhendi selles osas kuvatakse funktsioon json ().

Näide 1: vastuse lihtne kasutamine.json ()

Vastuse lihtne kasutamine.Selles näites selgitatakse funktsiooni json (). Vastus URI hankimispäringule https: // api.github.com / on salvestatud muutuja nimega vastus. Järgmisena kontrollitakse vastuse muutuja väärtust. Kui vastusemuutuja sisaldab kehtetut vastust, prindib see tõrketeate. Kui vastusemuutuja sisaldab kehtivat vastust, mis on vastuse olekukood ja selle sisu, prinditakse edukateade.

# Imporditaotluste moodul
imporditaotlused
# Loo hankimistaotlus
vastus = taotlused.saada ('https: // api.github.com / ')
# Kontrollige vastust
kui vastus:
# Printige vastuse olekukood
print ('Vastuse olekukood on% d'% vastus.olekukood)
# Printige JSON-i sisu
print ('JSON-i sisu on: \ n% s'% vastus.json ())
# Trükkige edusõnum
print ('\ nPäringu käsitlemine õnnestus.')
muu:
# Trükkige vale vastuse tõrketeade
print ('Vale vastus.')

Väljund:

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund.

Näide 2: vastuse kasutamine.json () erandkäsitlusega

Vastuse kasutamise viis.Selles näites kuvatakse funktsioon json () koos erandkäsitlusega. Moodul HttpError imporditakse koos skriptis oleva päringumooduliga, mis käsitleb erandit. Siin võetakse kasutajalt URI aadress päringute kasutamiseks.get () funktsioon. Selle päringu vastus salvestatakse vastuse muutujasse. Edasi vastus.Funktsiooni raise_for_status () kasutatakse päringu vastuse kontrollimiseks, kas see on kehtiv või kehtetu. Kui vastus on vale, luuakse erand ja mis tahes muu välja arvatud ploki kood täidetakse erandi põhjal. Kui vastus on kehtiv, korratakse vastusemuutuja sisu for cikluse abil, et printida sõnastiku väärtused igale reale, mis sisaldab vastuse andmeid.

# Imporditaotluste moodul
imporditaotlused
# Impordi HTTPError erandite käsitlemiseks
päringutest.erandid impordivad HTTPError
# Määratlege URI
uri = input ('Sisestage kehtiv URI: \ n')
# Printige ootesõnum
print ('Ootan vastust ... \ n')
proovige:
# Loo hankimistaotlus githubi voogude sisu lugemiseks
vastus = taotlused.saama (uri)
# Suurendage erandit, kui vastus ebaõnnestus
vastus.raise_for_status ()
# Lugege JSON-i sisu
jsonResponse = vastus.json ()
print ("JSON-i sisu on: \ n")
# Lugege ja printige JSON-i vastusest iga võtme-väärtuse paar
võtme jaoks väärtus jsonResponse'is.üksused ():
print (võti, ":", väärtus)
# HTTP-tõrke veateate printimine
välja arvatud HTTPError aadressina http_err:
print ('Ilmnes HTTP viga:% s'% http_err)
# HTTP-tõrke veateate printimine
välja arvatud erand kui ekslik:
print ('Muu viga:% s'% viga)

Väljund:

Järgmine väljund ilmub pärast skripti käivitamist, kui kasutaja esitab olematu URI-väärtuse. Siin oli HTTPError erand loodud vastava tõrketeate kõrvale.


Järgmine väljund ilmub pärast skripti käivitamist, kui kasutaja esitab vale URI-väärtuse. Siin oli teine ​​erand loodud vastava veateatega.

Järgmine väljund ilmub pärast skripti käivitamist, kui kasutaja esitab kehtiva URI-väärtuse. Siin on JSON-i sisu korralikult trükitud.

Näide 3: vastuse kasutamine.json () päringustringiga

Vastuse kasutamise viis.Selles näites kuvatakse funktsioon json () päringustringiga. Siin taotlused.funktsioon get () kasutas parameetreid kasutades URI-ga päringustringi väärtust. See otsib antud hoidlates PERL-keele kirjeid. Kui vastusemuutuja sisaldab kehtivat vastust, prinditakse hoidla nimi ja kirjeldus, vastasel juhul kuvatakse tõrketeade.

# Imporditaotluste moodul
imporditaotlused
# Otsimine githubi hoidlas päringustringi abil
vastus = taotlused.saada (
'https: // api.github.com / search / repositories ',
params = 'q': 'taotlused + keel: perl',
)
# Kontrollige vastust
kui vastus:
# Lugege JSON-i sisu
json_response = vastus.json ()
# Lugege konkreetset hoidla üksust
hoidla = json_response ['esemed'] [0]
# Trükkige hoidla nimi
print ('hoidla nimi:% s'% hoidla ["nimi"])
# Trükkige hoidla kirjeldus
print ('hoidla kirjeldus:% s'% hoidla ["kirjeldus"])
muu:
# Trükkige vale vastuse tõrketeade
print ('Vale vastus.')

Väljund:

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Siia oli trükitud PERLi keele hoidla nimi ja kirjeldus.

Järeldus:

Taotluse konkreetse URI-le saatmise ja vastuse abil vastuse lugemise erinevad viisid.Funktsioon json () kuvati selles õpetuses lihtsate näidete abil. Loodan, et see õpetus aitab lugejal mõista JSON-i vastuse kasutamist Pythonis ja rakendada seda korralikult oma skriptis, kui see on vajalik.

Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...