Pitón

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 lenguajes como Python, PHP, PERL, etc. El propósito principal del archivo JSON es transferir datos entre el servidor y el cliente. Python genera las solicitudes para recuperar los datos de un URI de recurso en particular. Si la respuesta de la solicitud se devuelve en formato JSON, el contenido de la respuesta se puede recuperar utilizando la respuesta.función json (). Devuelve la respuesta utilizando un objeto de diccionario de Python. En este tutorial se mostrará cómo se puede usar esta función para analizar la respuesta JSON usando la biblioteca de solicitudes de Python.

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 () genera 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 raise_for_status () o la respuesta.Es necesario verificar status_code 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 respuesta.json ()

El simple uso de la respuesta.La función json () se expondrá en este ejemplo. La respuesta para la solicitud de obtención del URI, https: // api.github.com / se almacena en una variable llamada respuesta. A continuación, se comprueba el valor de la variable de respuesta. Si la variable de respuesta contiene alguna respuesta no válida, 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, se imprimirá un mensaje de éxito.

# Módulo de solicitudes de importación
solicitudes de importación
# Crear una solicitud de obtención
respuesta = solicitudes.get ('https: // api.github.com / ')
# Verifica la respuesta
si respuesta:
# Imprime el código de estado de la respuesta
print ('El código de estado de la respuesta es% d'% respuesta.código de estado)
# Imprime el contenido JSON
print ('El contenido JSON es: \ n% s'% respuesta.json ())
# Imprime el mensaje de éxito
print ('\ nLa solicitud se maneja con éxito.')
demás:
# Imprime el mensaje de error para la respuesta inválida
print ('Respuesta no válida.')

Producción:

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

Ejemplo 2: uso de 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 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 raise_for_status () se usa para verificar la respuesta de la solicitud si es válida o no. Si la respuesta no es válida, se generará una excepción y el código de cualquier bloque excepto 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á usando 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 solicitudes.excepciones importar HTTPError
# Definir el URI
uri = input ('Ingrese un URI válido: \ n')
# Imprimir mensaje en espera
print ('Esperando la respuesta… \ n')
intentar:
# Crea una solicitud de obtención para leer el contenido de feeds de github
respuesta = solicitudes.obtener (uri)
# Genere una excepción si la respuesta no tuvo éxito
respuesta.raise_for_status ()
# Leer el contenido JSON
jsonResponse = respuesta.json ()
print ("El contenido JSON es: \ n")
# Leer e imprimir cada par clave-valor de la respuesta JSON
para clave, valor en jsonResponse.artículos():
print (clave, ":", valor)
# Imprimir mensaje de error para el error HTTP
excepto HTTPError como http_err:
print ('Se produjo un error HTTP:% s'% http_err)
# Imprimir mensaje de error para el error HTTP
excepto Excepción como err:
print ('Ocurrió otro error:% s'% err)

Producción:

La siguiente salida aparecerá después de ejecutar el script cuando el usuario proporcionará un valor de URI que no existe. Aquí, la excepción HTTPError se generó junto con el mensaje de error correspondiente.


La siguiente salida aparecerá después de ejecutar el script cuando el usuario proporcione un valor de URI no vá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 proporcione un valor de URI válido. Aquí, el contenido JSON se ha impreso correctamente.

Ejemplo 3: uso de 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.La función get () usó un valor de cadena de consulta con el URI usando params. Buscará las entradas para el idioma PERL en los repositorios dados. Si la variable de respuesta contiene una respuesta válida, se imprimirá el nombre y la descripción del repositorio; de lo contrario, aparecerá un mensaje de error.

# Módulo de solicitudes de importación
solicitudes de importación
# Buscando en el repositorio de github usando una cadena de consulta
respuesta = solicitudes.obtener(
'https: // api.github.com / search / repositories ',
params = 'q': 'solicitudes + idioma: perl',
)
# Verifica la respuesta
si respuesta:
# Leer el contenido JSON
json_response = respuesta.json ()
# Leer el elemento del repositorio en particular
repositorio = json_response ['elementos'] [0]
# Imprime el nombre del repositorio
print ('Nombre del repositorio:% s'% repository ["nombre"])
# Imprime la descripción del repositorio
print ('Descripción del repositorio:% s'% repositorio ["descripción"])
demás:
# Imprime el mensaje de error para la respuesta inválida
print ('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 lenguaje PERL se imprimieron aquí.

Conclusión:

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

Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...