„Python“

Sukurkite JSON atsakymą „Python“

Sukurkite JSON atsakymą „Python“

JSON („JavaScript Object Notation“) failas yra labai populiari terpė keistis duomenimis tarp skirtingų formatų. Jame yra duomenų teksto formatu, kurį palaiko įvairios kalbos, tokios kaip Python, PHP, PERL ir kt. Pagrindinis JSON failo tikslas yra duomenų perdavimas tarp serverio ir kliento. „Python“ sugeneruoja užklausas duomenims iš konkretaus ištekliaus URI nuskaityti. Jei atsakymas į užklausą grąžinamas JSON formatu, atsakymo turinį galima gauti naudojant atsakymą.json () funkcija. Jis pateikia atsakymą naudodamas „Python“ žodyno objektą. Kaip šią funkciją galima naudoti analizuojant JSON atsakymą naudojant „Python“ užklausų biblioteką, bus parodyta šioje pamokoje.

JSON atsakymas:

„Python“ užklausos modulyje yra JSON dekoderis, skirtas dirbti su JSON duomenimis. Atsakymas.Funkcija „json ()“ pateikia JSON atsakymą, jei „JSON“ dekoderis veikia tinkamai. Atsakymas.„json ()“ funkcija išimtis kelia, jei sugenda JSON dekoderis ir JSON atsakyme nėra jokių duomenų arba neteisingų duomenų. Atsakymo grįžtamoji vertė.function_for_status () funkcija arba atsakymas.status_code reikia patikrinti prieš vykdant atsakymą.json () funkcija.

Skirtingas atsako panaudojimas.Json ():

Trys skirtingi atsakymo panaudojimo būdai.json () funkcija bus rodoma šioje mokymo programos dalyje.

1 pavyzdys: paprastas atsakymo naudojimas.Json ()

Paprastas atsakymo naudojimas.json () funkcija bus paaiškinta šiame pavyzdyje. Atsakymas į URI užklausos gavimą, https: // api.github.com / yra saugomas kintamajame pavadinimu atsakas. Tada patikrinama atsako kintamojo vertė. Jei atsakymo kintamajame yra neteisingas atsakymas, jis atspausdins klaidos pranešimą. Jei atsakymo kintamajame yra galiojantis atsakymas, kuris yra atsakymo būsenos kodas ir jo turinys, bus išspausdintas sėkmingo pranešimo pranešimas.

# Importavimo užklausų modulis
importo užklausos
# Sukurkite užklausą gauti
atsakymas = prašymai.gauti ('https: // api.github.com / ')
# Patikrinkite atsakymą
jei atsakymas:
# Atspausdinkite atsakymo būsenos kodą
spausdinti ('Atsakymo būsenos kodas yra% d'% atsakymas.status_kodas)
# Atspausdinkite JSON turinį
spausdinti ('JSON turinys yra: \ n% s'% atsakymas.Json ())
# Atspausdinkite sėkmės pranešimą
spausdinti ('\ nPrašymas sėkmingai tvarkomas.„)
Kitas:
# Atspausdinkite neteisingo atsakymo klaidos pranešimą
spausdinti ('Neteisingas atsakymas.„)

Išvestis:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų.

2 pavyzdys: atsako naudojimas.json (), išskyrus tvarkymą

Atsakymo panaudojimo būdas.Šiame pavyzdyje bus rodoma funkcija „json“) su išimčių tvarkymu. „HttpError“ modulis importuojamas kartu su užklausos moduliu scenarijuje, kad būtų tvarkoma išimtis. Čia URI adresas bus paimtas iš vartotojo, kad galėtų naudoti užklausas.get () funkcija. Šios užklausos atsakymas bus saugomas atsakymo kintamajame. Toliau - atsakymas.Funkcija raise_for_status () naudojama patikrinti užklausos atsakymą, ar jis galioja, ar neteisingas. Jei atsakymas neteisingas, tada bus sukurta išimtis ir bet kurio, išskyrus bloką, kodas bus vykdomas remiantis išimtimi. Jei atsakymas galioja, atsakymo kintamojo turinys bus kartojamas naudojant „for loop“, kad išspausdintumėte žodyno reikšmes kiekvienoje eilutėje, kurioje yra atsakymo duomenys.

# Importavimo užklausų modulis
importo užklausos
# Importuokite HTTPError, jei norite tvarkyti išimtis
nuo prašymų.išimtys importuoja HTTPError
# Apibrėžkite URI
uri = input ('Įveskite galiojantį URI: \ n')
# Spausdinti laukimo pranešimą
spausdinti ('Laukiu atsakymo ... \ n')
bandyti:
# Sukurkite užklausą skaityti „github“ kanalų turinį
atsakymas = prašymai.gauti (uri)
# Padidinkite išimtį, jei atsakymas buvo nesėkmingas
atsakymą.raise_for_status ()
# Perskaitykite JSON turinį
jsonResponse = atsakymas.Json ()
spausdinti ("JSON turinys yra: \ n")
# Perskaitykite ir atsispausdinkite kiekvieną raktų ir verčių porą iš JSON atsakymo
raktui reikšmė jsonResponse.elementai ():
spausdinti (raktas, ":", reikšmė)
# Spausdinti klaidos pranešimą apie HTTP klaidą
išskyrus HTTP klaidą kaip http_err:
spausdinti ('įvyko HTTP klaida:% s'% http_err)
# Spausdinti klaidos pranešimą apie HTTP klaidą
išskyrus išimtį kaip klaidą:
spausdinti ('Įvyko kita klaida:% s'% klaida)

Išvestis:

Ši išvestis pasirodys įvykdžius scenarijų, kai vartotojas pateiks neegzistuojančią URI vertę. Čia HTTPError išimtis buvo sugeneruota kartu su atitinkamu klaidos pranešimu.


Ši išvestis pasirodys įvykdžius scenarijų, kai vartotojas pateiks neteisingą URI reikšmę. Čia buvo sukurta kita išimtis su atitinkamu klaidos pranešimu.

Ši išvestis pasirodys įvykdžius scenarijų, kai vartotojas pateiks galiojančią URI reikšmę. Čia JSON turinys buvo išspausdintas tinkamai.

3 pavyzdys: atsako naudojimas.json () su užklausos eilute

Atsakymo panaudojimo būdas.Šiame pavyzdyje bus rodoma funkcija „json“) su užklausos eilute. Čia prašymai.funkcija get () naudojo užklausos eilutės reikšmę su URI naudodama parametrus. Jis ieškos PERL kalbos įrašų nurodytose saugyklose. Jei atsakymo kintamajame yra galiojantis atsakymas, bus išspausdintas saugyklos pavadinimas ir aprašymas, priešingu atveju bus klaidos pranešimas.

# Importavimo užklausų modulis
importo užklausos
# Ieškoma „github“ saugykloje naudojant užklausos eilutę
atsakymas = prašymai.gauti (
„https: // api.github.com / search / repositories ',
params = 'q': 'užklausos + kalba: perl',
)
# Patikrinkite atsakymą
jei atsakymas:
# Perskaitykite JSON turinį
json_response = atsakymas.Json ()
# Perskaitykite konkretų saugyklos elementą
saugykla = json_response ['items'] [0]
# Atspausdinkite saugyklos pavadinimą
spausdinti ('saugyklos pavadinimas:% s'% saugykla ["vardas"])
# Atspausdinkite saugyklos aprašymą
spausdinti ('saugyklos aprašymas:% s'% saugykla ["aprašymas"])
Kitas:
# Atspausdinkite neteisingo atsakymo klaidos pranešimą
spausdinti ('Neteisingas atsakymas.„)

Išvestis:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Čia buvo išspausdintas PERL kalbos saugyklos pavadinimas ir aprašas.

Išvada:

Įvairūs būdai, kaip siųsti užklausą konkrečiam URI ir skaityti atsakymą naudojant atsakymą.json () funkcija buvo parodyta šioje pamokoje naudojant paprastus pavyzdžius. Tikiuosi, kad ši pamoka padės skaitytojams suprasti JSON atsako naudojimą „Python“ ir tinkamai pritaikyti savo scenarijuje, kai to reikia.

Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...
Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...