Pitão

Crie uma resposta JSON em Python

Crie uma resposta JSON em Python

O arquivo JSON (JavaScript Object Notation) é um meio muito popular para o intercâmbio de dados entre diferentes formatos. Ele contém dados em formato de texto que são suportados por várias linguagens como Python, PHP, PERL, etc. O principal objetivo do arquivo JSON é transferir dados entre o servidor e o cliente. As solicitações são geradas pelo Python para recuperar os dados de um determinado URI de recurso. Se a resposta da solicitação for retornada no formato JSON, o conteúdo da resposta pode ser recuperado usando a resposta.função json (). Ele retorna a resposta usando um objeto de dicionário Python. Como essa função pode ser usada para analisar a resposta JSON usando a biblioteca de solicitações Python será mostrado neste tutorial.

Resposta JSON:

O módulo de solicitação do Python contém o decodificador JSON para trabalhar com os dados JSON. A resposta.A função json () retorna uma resposta JSON se o decodificador JSON funcionar corretamente. A resposta.A função json () gera a exceção se o decodificador JSON falhar e a resposta JSON não contiver dados ou dados inválidos. O valor de retorno da resposta.função raise_for_status () ou a resposta.status_code deve ser verificado antes de executar a resposta.função json ().

Diferentes usos de resposta.json ():

Três usos diferentes da resposta.A função json () será mostrada nesta parte do tutorial.

Exemplo-1: uso simples de resposta.json ()

O simples uso da resposta.A função json () será exposta neste exemplo. A resposta para a solicitação get do URI, https: // api.github.com / é armazenado em uma variável chamada resposta. Em seguida, o valor da variável de resposta é verificado. Se a variável de resposta contiver qualquer resposta inválida, ela imprimirá uma mensagem de erro. Se a variável de resposta contém uma resposta válida que é o código de status da resposta e seu conteúdo, uma mensagem de sucesso será impressa.

# Módulo de solicitações de importação
pedidos de importação
# Crie uma solicitação get
resposta = pedidos.get ('https: // api.github.com / ')
# Verifique a resposta
se a resposta:
# Imprima o código de status de resposta
print ('O código de status da resposta é% d'% resposta.status_code)
# Imprima o conteúdo JSON
print ('O conteúdo JSON é: \ n% s'% resposta.json ())
# Imprima a mensagem de sucesso
print ('\ nO pedido foi tratado com sucesso.')
senão:
# Imprime a mensagem de erro para a resposta inválida
imprimir ('Resposta inválida.')

Resultado:

A seguinte saída aparecerá após a execução do script acima.

Exemplo 2: Uso da resposta.json () com tratamento de exceção

A maneira de usar a resposta.A função json () com tratamento de exceção será mostrada neste exemplo. O módulo HttpError é importado com o módulo de solicitação no script para lidar com a exceção. Aqui, o endereço URI será obtido do usuário para usar as solicitações.função get (). A resposta desta solicitação será armazenada na variável de resposta. A seguir, resposta.A função raise_for_status () é usada para verificar a resposta da solicitação se ela é válida ou inválida. Se a resposta for inválida, então uma exceção será gerada e o código de qualquer bloco exceto será executado com base na exceção. Se a resposta for válida, o conteúdo da variável de resposta será iterado usando um loop for para imprimir os valores do dicionário em cada linha que contém os dados da resposta.

# Módulo de solicitações de importação
pedidos de importação
# Import HTTPError para tratamento de exceções
de pedidos.exceções import HTTPError
# Defina o URI
uri = input ('Digite um URI válido: \ n')
# Imprimir mensagem em espera
imprimir ('Aguardando a resposta… \ n')
tentar:
# Crie uma solicitação get para ler o conteúdo de feeds do github
resposta = pedidos.obter (uri)
# Levante uma exceção se a resposta não for bem-sucedida
resposta.raise_for_status ()
# Leia o conteúdo JSON
jsonResponse = resposta.json ()
print ("O conteúdo JSON é: \ n")
# Leia e imprima cada par de valores-chave da resposta JSON
para chave, valor em jsonResponse.Itens():
imprimir (chave, ":", valor)
# Imprimir mensagem de erro para o erro HTTP
exceto HTTPError como http_err:
print ('Ocorreu um erro de HTTP:% s'% http_err)
# Imprimir mensagem de erro para o erro HTTP
exceto Exceção como erro:
print ('Ocorreu outro erro:% s'% err)

Resultado:

A seguinte saída aparecerá após a execução do script quando um valor URI inexistente for fornecido pelo usuário. Aqui, a exceção HTTPError foi gerada juntamente com a mensagem de erro correspondente.


A seguinte saída aparecerá após a execução do script, quando um valor de URI inválido for fornecido pelo usuário. Aqui, a outra exceção foi gerada com uma mensagem de erro correspondente.

A seguinte saída aparecerá após a execução do script, quando um valor de URI válido for fornecido pelo usuário. Aqui, o conteúdo JSON foi impresso corretamente.

Exemplo 3: Uso da resposta.json () com string de consulta

A maneira de usar a resposta.A função json () com string de consulta será mostrada neste exemplo. Aqui, os pedidos.A função get () usou um valor de string de consulta com o URI usando parâmetros. Ele irá pesquisar as entradas para a linguagem PERL nos repositórios fornecidos. Se a variável de resposta contiver uma resposta válida, o nome do repositório e a descrição serão impressos, caso contrário, haverá uma mensagem de erro.

# Módulo de solicitações de importação
pedidos de importação
# Pesquisando no repositório do github usando string de consulta
resposta = pedidos.obter(
'https: // api.github.com / search / repositories ',
params = 'q': 'pedidos + idioma: perl',
)
# Verifique a resposta
se a resposta:
# Leia o conteúdo JSON
json_response = resposta.json ()
# Leia o item de repositório particular
repository = json_response ['items'] [0]
# Imprime o nome do repositório
imprimir ('Nome do repositório:% s'% repositório ["nome"])
# Imprima a descrição do repositório
imprimir ('Descrição do repositório:% s'% repositório ["descrição"])
senão:
# Imprime a mensagem de erro para a resposta inválida
imprimir ('Resposta inválida.')

Resultado:

A seguinte saída aparecerá após a execução do script acima. O nome do repositório e a descrição para a linguagem PERL foram impressos aqui.

Conclusão:

Diferentes maneiras de enviar a solicitação para um determinado URI e ler a resposta usando a resposta.A função json () foi mostrada neste tutorial usando exemplos simples. Espero que este tutorial ajude os leitores a entender o uso da resposta JSON em Python e aplicá-la corretamente em seu script quando for necessário.

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...
Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...