Crie uma resposta JSON no Python

Crie uma resposta JSON no Python

O arquivo JSON (JavaScript Object) é um meio muito popular para intercambiar dados entre diferentes formatos. Ele contém dados no formato de texto suportado por vários idiomas, como Python, Php, Perl, etc. O principal objetivo do arquivo JSON é transferir dados entre o servidor e o cliente. Os pedidos são gerados pelo Python para recuperar os dados de um URI de recurso específico. Se a resposta da solicitação for retornada no formato JSON, o conteúdo da resposta poderá 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á mostrada neste tutorial.

Resposta JSON:

O módulo de solicitação de 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 () levanta a exceção se o decodificador JSON falhar e a resposta JSON não contém dados ou dados inválidos. O valor de retorno da resposta.Raise_for_status () função ou a resposta.Status_code deve ser verificado antes de executar a resposta.função json ().

Diferentes usos da resposta.JSON ():

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

Exemplo 1: uso simples da resposta.JSON ()

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

# Módulo de solicitações de importação
solicitações de importação
# Crie uma solicitação Get
resposta = solicitações.Get ('https: // API.Github.com/')
# Verifique a resposta
Se resposta:
# Imprima o código de status da 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
impressão ('\ nA solicitação é tratada com sucesso.')
outro:
# Imprima a mensagem de erro para a resposta inválida
Impressão ('Resposta inválida.')

Saída:

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

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

A maneira de usar a resposta.A função json () com manuseio 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á retirado do usuário para usar as solicitações.Função Get (). A resposta desta solicitação será armazenada na variável de resposta. Em seguida, resposta.A função Raise_For_Status () é usada para verificar a resposta da solicitação se é válida ou inválida. Se a resposta for inválida, será gerada uma exceção e o código de qualquer bloco, exceto o bloco, 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 para imprimir os valores do dicionário em cada linha que contém os dados de resposta.

# Módulo de solicitações de importação
solicitações de importação
# Importar httperror para manuseio de exceções
de solicitações.Exceções Importar httperror
# Defina o URI
Uri = entrada ('Digite o URI válido: \ n')
# Mensagem de espera de impressão
Imprimir ('esperando a resposta… \ n')
tentar:
# Crie uma solicitação Get para ler o conteúdo do Github
resposta = solicitações.Get (URI)
# Levante exceção se a resposta não tiver êxito
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.Unid():
Imprimir (chave, ":", valor)
# Mensagem de erro de impressão para o erro HTTP
exceto httperror como http_err:
Print ('Erro http ocorreu: %s' %http_err)
# Mensagem de erro de impressão para o erro HTTP
Exceto exceção como err:
Imprimir ('Outro erro ocorreu: %S' %err)

Saída:

A saída a seguir aparecerá após a execução do script quando um valor de URI de inexistência será fornecido pelo usuário. Aqui, a exceção httperror foi gerada ao lado da mensagem de erro correspondente.


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

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

Exemplo 3: Uso da resposta.json () com sequência de consulta

A maneira de usar a resposta.A função json () com a string de consulta será mostrada neste exemplo. Aqui, os pedidos.GET () Função usou um valor de sequência de consulta com o URI usando params. Ele procurará as entradas para o idioma perl nos repositórios especificados. Se a variável de resposta contiver uma resposta válida, o nome e a descrição do repositório serão impressos; caso contrário, haverá uma mensagem de erro.

# Módulo de solicitações de importação
solicitações de importação
# Pesquisando no repositório do Github usando a string de consulta
resposta = solicitações.pegar(
'https: // API.Github.com/pesquisa/repositórios ',
params = 'q': 'solicitações+idioma: perl',
)
# Verifique a resposta
Se resposta:
# Leia o conteúdo JSON
JSON_RESPONSE = resposta.JSON ()
# Leia o item de repositório específico
Repositório = JSON_RESPONSE ['itens'] [0]
# Imprima o nome do repositório
Print ('Nome do repositório: %s' %repositório ["nome"]))
# Imprima a descrição do repositório
Print ('Repositório Descrição: %S' %Repositório ["Descrição"]))
outro:
# Imprima a mensagem de erro para a resposta inválida
Impressão ('Resposta inválida.')

Saída:

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

Conclusão:

Diferentes maneiras de enviar a solicitação para um URI específico 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 no Python e a aplicá -lo corretamente em seu script quando for necessário.