Estructuración de los datos

Miguel Alejandro Salgado Zapien

2021-05-18

Cargando json.

Si se desea trabajar con archivos json, deberíamos, importar el modulo estándar de Python nombrado json.

Este es un procedimiento básico para la apertura de un archivo y encima de todo para cargar su contenido como json.

from pathlib import Path
import json
json_file = Path("path/to/file.json")
if json_file.exists():
    json_data = json.loads(json_file.read_text())
print(json_data)

Recordemos que los json son estructuras anidadas las cuales podemos representar listas, diccionarios, numeros, booleanos y cadenas de texto.

Entonces depende del contenido del json serán las estructuras de datos que estaremos trabajando.

Nota, una manera fácil de determinar si algo es del tipo que pensamos con la función type o la función isinstance.

Algunos ejemplos de estructuras básicas de json útiles y empleadas actualmente son:

Pueden navegar las ligas.

Respuesta de un API Web

Cuando estamos trabajando con servicios web del tipo HTTP, generalmente se tienen definiciones de las estructuras que responde dicha interfaz.

Estas definiciones son importantes porque nos ayudan entender de que manera debemos tratar los datos que se ofrecen.

En el caso de ser objetos las respuestas se tiene algo llamado esquema del objeto, este esquema es un conjunto de definiciones de tipos para las llaves o atributos de un objeto.

Generalmente se tienen respuestas la siguiente forma

{
    "status": 200,
    "message": "Some message",
    "data": [
        {"attr_1": "something", "attr_2": 10},
        {"attr_1": "else", "attr_2": 20},
    ]
}

  • status es el codigo de respuesta HTTP
  • message es algun mensaje emitido por el servidor
  • data es una lista o un objeto donde se contiene el recurso deseado.

También podemos tener

  • error donde se especifica el tipo de error.
  • redirect donde nos dice a donde dirigirnos en caso de Redirección.

Ejemplos de APIs web se pueden encontrar en esta liga

Actividad

Seguir la clase y reproducir este notebook