Krajta

Vytvořte odpověď JSON v Pythonu

Vytvořte odpověď JSON v Pythonu

Soubor JSON (JavaScript Object Notation) je velmi populární médium pro výměnu dat mezi různými formáty. Obsahuje data v textovém formátu, který je podporován různými jazyky, jako je Python, PHP, PERL atd. Hlavním účelem souboru JSON je přenos dat mezi serverem a klientem. Požadavky generuje Python k načtení dat z konkrétního identifikátoru URI prostředku. Pokud je odpověď na požadavek vrácena ve formátu JSON, pak lze obsah odpovědi načíst pomocí odpovědi.funkce json (). Vrátí odpověď pomocí objektu slovníku Pythonu. Jak lze tuto funkci použít k analýze odpovědi JSON pomocí knihovny požadavků Pythonu, se zobrazí v tomto kurzu.

Odpověď JSON:

Modul požadavku Pythonu obsahuje dekodér JSON pro práci s daty JSON. Odpověď.Funkce json () vrací odpověď JSON, pokud dekodér JSON funguje správně. Odpověď.Funkce json () vyvolá výjimku, pokud selže dekodér JSON a odpověď JSON neobsahuje žádná data nebo neplatná data. Návratová hodnota odpovědi.funkce raise_for_status () nebo odpověď.před provedením odpovědi je třeba zkontrolovat status_code.funkce json ().

Různá použití reakce.json ():

Tři různá použití odpovědi.V této části tutoriálu se zobrazí funkce json ().

Příklad 1: Jednoduché použití odpovědi.json ()

Jednoduché použití odpovědi.V tomto příkladu bude vysvětlena funkce json (). Odpověď na požadavek na získání URI, https: // api.github.com / je uložen v proměnné s názvem response. Dále se zkontroluje hodnota proměnné odpovědi. Pokud proměnná odpovědi obsahuje neplatnou odpověď, vytiskne chybovou zprávu. Pokud proměnná odpovědi obsahuje platnou odpověď, která je stavovým kódem odpovědi a jejím obsahem, vytiskne se zpráva o úspěchu.

# Modul požadavků na import
požadavky na import
# Vytvořte požadavek na získání
odpověď = požadavky.get ('https: // api.github.com / ')
# Zkontrolujte odpověď
pokud odpověď:
# Vytiskněte stavový kód odpovědi
print ('Stavový kód odpovědi je% d'% odpověď.status_code)
# Vytiskněte obsah JSON
print ('Obsah JSON je: \ n% s'% odpověď.json ())
# Vytiskněte zprávu o úspěchu
print ('\ nPožadavek byl úspěšně vyřízen.')
jiný:
# Vytiskněte chybovou zprávu pro neplatnou odpověď
print ('Neplatná odpověď.')

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup.

Příklad 2: Použití odpovědi.json () s zpracováním výjimek

Způsob použití odpovědi.V tomto příkladu se zobrazí funkce json () s zpracováním výjimek. Modul HttpError se importuje s modulem požadavku ve skriptu, aby byla zpracována výjimka. Zde bude adresa URI převzata od uživatele k použití požadavků.funkce get (). Odpověď na tento požadavek bude uložena v proměnné odpovědi. Dále odpověď.Funkce raise_for_status () se používá ke kontrole odpovědi požadavku, zda je platný nebo neplatný. Pokud je odpověď neplatná, vygeneruje se výjimka a na základě této výjimky se provede kód kteréhokoli bloku kromě bloku. Pokud je odpověď platná, bude obsah proměnné odpovědi iterován pomocí smyčky for pro tisk hodnot slovníku v každém řádku, který obsahuje data odpovědi.

# Modul požadavků na import
požadavky na import
# Import HTTPError pro zpracování výjimek
z požadavků.výjimky importují HTTPError
# Definujte URI
uri = input ('Zadejte platný URI: \ n')
# Tisknout čekající zprávu
print ('Čekám na odpověď ... \ n')
Snaž se:
# Vytvořte požadavek na čtení ke čtení obsahu kanálů na github
odpověď = požadavky.dostat (uri)
# Zvyšte výjimku, pokud byla odpověď neúspěšná
Odezva.raise_for_status ()
# Přečtěte si obsah JSON
jsonResponse = odpověď.json ()
print ("Obsah JSON je: \ n")
# Přečtěte a vytiskněte každý pár klíč – hodnota z odpovědi JSON
pro klíč hodnota v jsonResponse.položky ():
tisk (klíč, ":", hodnota)
# Tisknout chybovou zprávu pro chybu HTTP
kromě HTTPError jako http_err:
print ('Došlo k chybě HTTP:% s'% http_err)
# Tisknout chybovou zprávu pro chybu HTTP
kromě Výjimky jako chyba:
tisk ('Došlo k další chybě:% s'% err)

Výstup:

Následující výstup se zobrazí po provedení skriptu, když uživatel poskytne hodnotu URI neexistující. Zde byla vedle odpovídající chybové zprávy vygenerována výjimka HTTPError.


Následující výstup se zobrazí po provedení skriptu, když uživatel poskytne neplatnou hodnotu URI. Zde byla vygenerována další výjimka s odpovídající chybovou zprávou.

Následující výstup se zobrazí po provedení skriptu, když uživatel poskytne platnou hodnotu URI. Zde byl obsah JSON vytištěn správně.

Příklad 3: Použití odpovědi.json () s řetězcem dotazu

Způsob použití odpovědi.V tomto příkladu se zobrazí funkce json () s řetězcem dotazu. Zde žádosti.Funkce get () použila hodnotu řetězce dotazu s URI pomocí parametrů. Prohledá položky jazyka PERL v daných úložištích. Pokud proměnná odpovědi obsahuje platnou odpověď, vytiskne se název a popis úložiště, jinak se zobrazí chybová zpráva.

# Modul požadavků na import
požadavky na import
# Hledání v úložišti github pomocí řetězce dotazu
odpověď = požadavky.dostat(
'https: // api.github.com / search / repositories ',
params = 'q': 'požadavky + jazyk: perl',
)
# Zkontrolujte odpověď
pokud odpověď:
# Přečtěte si obsah JSON
json_response = odpověď.json ()
# Přečtěte si konkrétní položku úložiště
repository = json_response ['items'] [0]
# Vytiskněte název úložiště
print ('Repository name:% s'% repository ["name"])
# Vytiskněte popis úložiště
print ('Repository description:% s'% repository ["description"])
jiný:
# Vytiskněte chybovou zprávu pro neplatnou odpověď
print ('Neplatná odpověď.')

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. Zde byl vytištěn název úložiště a popis jazyka PERL.

Závěr:

Různé způsoby, jak odeslat požadavek na konkrétní URI a přečíst odpověď pomocí odpovědi.Funkce json () byla v tomto tutoriálu ukázána na jednoduchých příkladech. Doufám, že tento tutoriál pomůže čtenářům pochopit použití odpovědi JSON v Pythonu a správně je použít ve svém skriptu, když je to požadováno.

Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...
Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...