Crea una respuesta JSON en Python

Crea una respuesta JSON en Python

El archivo JSON (JavaScript Object Notation) es un medio muy popular para intercambiar datos entre diferentes formatos. Contiene datos en formato de texto que es compatible con varios idiomas como Python, PHP, Perl, etc. El objetivo principal del archivo JSON es transferir datos entre el servidor y el cliente. Python generan las solicitudes para recuperar los datos de un URI de recursos particular. Si la respuesta de la solicitud se devuelve en formato JSON, entonces el contenido de la respuesta se puede recuperar utilizando la respuesta.función json (). Devuelve la respuesta utilizando un objeto de diccionario de Python. La forma en que esta función se puede usar para analizar la respuesta JSON utilizando la biblioteca de solicitudes de Python se mostrará en este tutorial.

Respuesta JSON:

El módulo de solicitud de Python contiene el decodificador JSON para trabajar con los datos JSON. La respuesta.La función JSON () devuelve una respuesta JSON si el decodificador JSON funciona correctamente. La respuesta.La función JSON () plantea la excepción si el decodificador JSON falla y la respuesta JSON no contiene ningún dato o datos no válidos. El valor de retorno de la respuesta.función rais_for_status () o la respuesta.status_code debe verificarse antes de ejecutar la respuesta.función json ().

Diferentes usos de la respuesta.json ():

Tres usos diferentes de la respuesta.La función json () se mostrará en esta parte del tutorial.

Ejemplo-1: uso simple de la respuesta.json ()

El uso simple de la respuesta.La función json () se expusirá en este ejemplo. La respuesta para la solicitud GET del URI, https: // API.github.com/ se almacena en una variable llamada respuesta. A continuación, se verifica el valor de la variable de respuesta. Si la variable de respuesta contiene alguna respuesta no válida, se imprimirá un mensaje de error. Si la variable de respuesta contiene una respuesta válida, que es el código de estado de la respuesta y su contenido, un mensaje de éxito se imprimirá.

# Módulo de solicitudes de importación
Solicitudes de importación
# Crea una solicitud Get
respuesta = solicitudes.Get ('https: // API.github.com/')
# Verifique la respuesta
Si la respuesta:
# Imprimir el código de estado de respuesta
imprimir ('El código de estado de la respuesta es %d' %respuesta.código de estado)
# Imprimir el contenido JSON
Imprimir ('El contenido JSON es: \ n %s' %Respuesta.json ())
# Imprimir el mensaje de éxito
Imprimir ('\ n La solicitud se maneja con éxito.')
demás:
# Imprima el mensaje de error para la respuesta no válida
Imprimir ('Respuesta no válida.')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: Uso de la respuesta.json () con manejo de excepciones

La forma de usar la respuesta.La función json () con manejo de excepciones se mostrará en este ejemplo. El módulo httperror se importa con el módulo de solicitud en el script para manejar la excepción. Aquí, la dirección de URI se tomará del usuario para usar las solicitudes.Función Get (). La respuesta de esta solicitud se almacenará en la variable de respuesta. A continuación, respuesta.La función Rais_For_Status () se usa para verificar la respuesta de la solicitud si es válida o inválida. Si la respuesta no es válida, se generará una excepción y el código de cualquier bloque, excepto el bloque, se ejecutará en función de la excepción. Si la respuesta es válida, entonces el contenido de la variable de respuesta se iterará utilizando un bucle for para imprimir los valores del diccionario en cada línea que contiene los datos de respuesta.

# Módulo de solicitudes de importación
Solicitudes de importación
# Importar httperror para el manejo de excepciones
De las solicitudes.excepciones importar httperror
# Defina el URI
uri = input ('Ingrese el URI válido: \ n')
# Imprimir mensaje de espera
Imprimir ('Esperando la respuesta ... \ n')
intentar:
# Crear una solicitud GET para leer el contenido de Feeds de GitHub
respuesta = solicitudes.Obtener (uri)
# Aumentar la excepción si la respuesta no tuvo éxito
respuesta.Raise_for_status ()
# Lea el contenido JSON
jsonResponse = respuesta.json ()
Imprimir ("El contenido JSON es: \ n")
# Lea e imprima cada par de valores clave de la respuesta JSON
Para la clave, el valor en jsonResponse.elementos():
imprimir (clave, ":", valor)
# Imprimir mensaje de error para el error HTTP
excepto httperror como http_err:
Imprimir ('El error http ocurrió: %s' %http_err)
# Imprimir mensaje de error para el error HTTP
Excepto la excepción como err:
Imprimir ('Otro error ocurrió: %s' %err)

Producción:

El siguiente resultado aparecerá después de ejecutar el script cuando el usuario proporcionará un valor URI de no existencia. Aquí, la excepción httperror se había generado junto con el mensaje de error correspondiente.


El siguiente resultado aparecerá después de ejecutar el script cuando el usuario proporcionará un valor de URI inválido. Aquí, la otra excepción se había generado con un mensaje de error correspondiente.

La siguiente salida aparecerá después de ejecutar el script cuando el usuario proporcionará un valor de URI válido. Aquí, el contenido JSON se ha impreso correctamente.

Ejemplo-3: uso de la respuesta.json () con cadena de consulta

La forma de usar la respuesta.La función json () con la cadena de consulta se mostrará en este ejemplo. Aquí, las solicitudes.get () La función usó un valor de cadena de consulta con el URI usando params. Buscará las entradas en el lenguaje Perl en los repositorios dados. Si la variable de respuesta contiene una respuesta válida, el nombre y la descripción del repositorio se imprimirán, de lo contrario, habrá un mensaje de error.

# Módulo de solicitudes de importación
Solicitudes de importación
# Buscar en el repositorio de GitHub usando la cadena de consulta
respuesta = solicitudes.conseguir(
'https: // API.github.com/búsqueda/repositorios ',
Params = 'Q': 'Solicitudes+lenguaje: perl',
)
# Verifique la respuesta
Si la respuesta:
# Lea el contenido JSON
json_Response = respuesta.json ()
# Lea el elemento de repositorio particular
repositorio = json_response ['elementos'] [0]
# Imprima el nombre del repositorio
Imprimir ('Nombre del repositorio: %s' %repositorio ["nombre"])
# Imprima la descripción del repositorio
Imprimir ('Descripción del repositorio: %s' %repositorio ["Descripción"])
demás:
# Imprima el mensaje de error para la respuesta no válida
Imprimir ('Respuesta no válida.')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El nombre del repositorio y la descripción del idioma perl se habían impreso aquí.

Conclusión:

Diferentes formas de enviar la solicitud a un URI en particular y leer la respuesta utilizando la respuesta.La función json () se mostró en este tutorial utilizando ejemplos simples. Espero que este tutorial ayude a los lectores a comprender el uso de la respuesta JSON en Python y aplicarla correctamente en su guión cuando sea necesario.