Programa Python para extraer un valor único de la respuesta JSON
La extracción de valores es un concepto de programación muy popular y se utiliza en una amplia variedad de operaciones. Sin embargo, extraer valores de una respuesta JSON es un concepto completamente diferente. Nos ayuda a construir lógica y apuntar a valores específicos en un conjunto de datos complejo. Este artículo explicará los diversos métodos que se pueden utilizar para extraer un valor único de una respuesta JSON . Antes de comenzar con la extracción de valores, centrémonos en comprender el significado de una respuesta JSON.
¿Qué es una respuesta JSON?
Una respuesta JSON (JavaScript Object Notation) es un formato de datos ampliamente aceptado a través del cual un servidor responde a una solicitud de cliente. Cada vez que un cliente solicita determinada API o información del servidor, se genera una respuesta y las API se entregan al cliente. Ahora esta información se comparte de tal manera que tanto el cliente como el servidor puedan entender los datos y para ello necesitamos un formato de datos unificado.
Una respuesta JSON comparte información en forma de objetos JSON que se pueden convertir a cualquier lenguaje de programación local. Como estamos usando Python y nuestra tarea es recuperar un valor único de esta respuesta, convertiremos estos objetos en diccionarios. Ahora que tenemos un breve conocimiento sobre una respuesta JSON, comprendamos la parte de extracción.
Uso de API para extraer valores de una respuesta JSON
En este enfoque, utilizaremos un punto final API para recuperar datos del servidor. En primer lugar, importaremos la biblioteca “solicitudes” para manejar la solicitud HTTP. Luego usaremos el método “get()” para enviar una solicitud “GET” a un punto final API. En este ejemplo, utilizaremos el punto final API “CoinDesk” que recupera el índice de precios de bitcoin (BPI) en tiempo real. Los objetos JSON se convierten en diccionarios con la ayuda del método "json()". Luego, estos diccionarios se analizan para seleccionar información específica.
Aquí, extraeremos el valor BPI accediendo a los objetos anidados. Las claves del diccionario se refieren a ciertos atributos y propiedades y sus valores se refieren a diferentes tipos de datos. Usaremos las claves para extraer valores únicos y múltiples. Consulte este enlace para obtener documentación oficial: https://apipheny.io/free-api/
El enlace URL de la API: https://api.coindesk.com/v1/bpi/currentprice.json
Ejemplo
A continuación se muestra un ejemplo para extraer un valor único de una respuesta JSON utilizando una API "CoinDesk":
import requests
print("Welcome to the live bitcoin Price index")
Json_data = requests.get('https://api.coindesk.com/v1/bpi/currentprice.json').json()
Disclaimer = Json_data["disclaimer"]
print(Disclaimer)
BPI = Json_data["bpi"]["USD"]["rate"]
print(f"The real time BPI value for the United states of America is: {BPI}")
TIME = Json_data["time"]["updated"]
print(f"The index was viewed at Universal time: {TIME}")
Producción
Welcome to the live bitcoin Price index
This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org
The real time BPI value for the United states of America is: 25,978.6344
The index was viewed at Universal time: Jun 11, 2023 18:26:00 UTC
Extraer un valor único de un archivo JSON local
Este enfoque se centra en extraer un valor único de un archivo JSON almacenado en el sistema. Primero crearemos un archivo JSON y luego importaremos el módulo JSON para decodificar los datos recuperados de una "respuesta JASON".
Este enfoque es similar al concepto de manejo de archivos en el que cargamos un archivo JSON y luego lo abrimos en un modo específico. También podemos realizar cambios en este archivo y manipular su contenido con la ayuda de diferentes modos de archivo como "añadir", "Binario", "Solo lectura", etc. Usaremos un archivo local (DSC.json) que almacena información relacionada con los gatos y extraeremos esta información de una clave llamada “fact”.
Ejemplo
El siguiente es un ejemplo:
import json
try:
with open("DSC.json", "r+") as file:
Json_file = json.load(file)
FACTS = Json_file["fact"]
print(f"Here is a fact related to cats: \n{FACTS}")
except:
print("File does not exist")
Producción
Here is a fact related to cats:
Mountain lions are strong jumpers, thanks to muscular hind legs that are longer than their front legs.
Otras ideas
También podemos convertir los datos JSON en una cadena en lugar de un diccionario volcando el “objeto JSON” en un elemento y luego cargándolo en una cadena con la ayuda de “.loads() ” método. El error más común que cometen los programadores al utilizar este concepto de extracción de valores es que utilizan el nombre de clave incorrecto para acceder a los valores. Además, al tratar con objetos anidados, debemos utilizar el orden correcto para la extracción de datos. A continuación se muestra un ejemplo:
data = Json_data["Parent object"]["Child object"]
Esta es la jerarquía que se sigue para extraer los valores correctos.
Conclusión
Durante el transcurso de este artículo, cubrimos los conceptos básicos de la extracción de valor y comprendimos su importancia. También discutimos el mecanismo de una “respuesta JSON” y cómo podemos extraer un valor único de ella. En este primer enfoque, utilizamos puntos finales API para recuperar datos del servidor. En el segundo enfoque, extrajimos valores directamente de un archivo JSON almacenado localmente.