JSON (JavaScript Object Notation) -fil er et veldig populært medium for å utveksle data mellom forskjellige formater. Den inneholder data i tekstformat som støttes av forskjellige språk som Python, PHP, Perl, etc. Hovedformålet med JSON -filen er å overføre data mellom serveren og klienten. Forespørslene genereres av Python for å hente dataene fra en bestemt ressurs URI. Hvis responsen fra forespørselen returneres i JSON -format, kan innholdet i svaret hentes ved hjelp av responsen.json () funksjon. Den returnerer responsen ved å bruke et Python Dictionary -objekt. Hvordan denne funksjonen kan brukes til å analysere JSON -respons ved bruk av Python Request -biblioteket vil bli vist i denne opplæringen.
JSON -svar:
Forespørselsmodulen til Python inneholder JSON -dekoderen for å jobbe med JSON -dataene. Responsen.JSON () -funksjonen returnerer en JSON -svar hvis JSON -dekoderen fungerer ordentlig. Responsen.JSON () -funksjonen reiser unntaket hvis JSON -dekoderen mislykkes og JSON -responsen ikke inneholder noen data eller ugyldige data. Returverdien på responsen.heve_for_status () -funksjonen eller responsen.Status_code er påkrevd å bli sjekket før du utfører svaret.json () funksjon.
Ulike bruksområder for respons.json ():
Tre forskjellige bruksområder av responsen.JSON () -funksjonen vil bli vist i denne delen av opplæringen.
Eksempel 1: Enkel bruk av respons.JSON ()
Den enkle bruken av responsen.JSON () -funksjonen vil bli forklart i dette eksemplet. Responsen for GET -forespørselen fra URI, https: // API.github.com/ er lagret i en variabel navngitt respons. Deretter blir verdien av responsvariabelen sjekket. Hvis svarvariabelen inneholder noen ugyldig respons, vil den skrive ut en feilmelding. Hvis responsvariabelen inneholder en gyldig respons som er statusakoden til responsen og innholdet, vil en suksessmelding skrives ut.
# Importer forespørsler modulProduksjon:
Følgende utgang vises etter å ha utført skriptet ovenfor.
Eksempel-2: Bruk av respons.JSON () med unntakshåndtering
Måten å bruke responsen.JSON () -funksjonen med unntakshåndtering vil bli vist i dette eksemplet. Httperror -modulen importeres med forespørselsmodulen i skriptet for å håndtere unntaket. Her vil URI -adressen bli hentet fra brukeren for å bruke forespørslene.få () funksjon. Responsen fra denne forespørselen vil bli lagret i responsvariabelen. Neste, svar.heve_for_status () -funksjonen brukes til å sjekke svaret på forespørselen om den er gyldig eller ugyldig. Hvis responsen er ugyldig, vil et unntak bli generert og koden til en hvilken som helst unntatt blokkering vil bli utført basert på unntaket. Hvis responsen er gyldig, vil innholdet i responsvariabelen bli iterert ved hjelp av en for loop for å skrive ut verdiene til ordboken i hver linje som inneholder svardataene.
# Importer forespørsler modulProduksjon:
Følgende utdata vises etter å ha utført skriptet når en URI-verdi ikke-eksistens vil bli gitt av brukeren. Her hadde Httperror -unntaket blitt generert ved siden av den tilsvarende feilmeldingen.
Følgende utdata vises etter å ha utført skriptet når en ugyldig URI -verdi vil bli gitt av brukeren. Her hadde det andre unntaket blitt generert med en tilsvarende feilmelding.
Følgende utdata vises etter å ha utført skriptet når en gyldig URI -verdi vil bli gitt av brukeren. Her er JSON -innholdet skrevet ut riktig.
Eksempel-3: Bruk av respons.json () med spørringsstreng
Måten å bruke responsen.JSON () -funksjon med spørringsstreng vil bli vist i dette eksemplet. Her, forespørslene.få () funksjon brukt en spørringsstrengverdi med URI ved hjelp av params. Det vil søke på oppføringene etter Perl -språket i de gitte depotene. Hvis svarvariabelen inneholder et gyldig svar, vil depotnavnet og beskrivelsen bli skrevet ut, ellers vil det være en feilmelding.
# Importer forespørsler modulProduksjon:
Følgende utgang vises etter å ha utført skriptet ovenfor. Repotnavnet og beskrivelsen for Perl -språket hadde blitt skrevet ut her.
Konklusjon:
Ulike måter å sende forespørselen til en bestemt URI og lese svaret ved å bruke svaret på.JSON () -funksjonen ble vist i denne opplæringen ved hjelp av enkle eksempler. Jeg håper denne opplæringen vil hjelpe leserne til å forstå bruken av JSON -respons i Python og bruke den ordentlig i manuset deres når det er påkrevd.