Want to create interactive content? It’s easy in Genially!
PR.AD.02.01.01
UTL
Created on September 25, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
Programación de Redes
1. APIs y Análisis JSON
AD.02.01.01 APIs y análisis JSON
Bienvenida
Hoy vamos a adentrarnos en un tema fundamental en el mundo del desarrollo y la tecnología: las APIs y el análisis de datos en formato JSON. ¿Alguna vez te has cuestionado cómo se conecta una aplicación con otra para mostrar el clima, los mapas o los últimos tuits? La respuesta está en las APIs: puentes digitales que permiten que diferentes sistemas hablen entre sí. Y para que esa comunicación tenga sentido, se necesita un lenguaje común. Ahí entra JSON, un formato ligero y estructurado para intercambiar datos de forma clara y eficiente.
¡Sean Bienvenidos!
Índice
Objetivo
Introducción
¿Qué son las APIs?
Tipos de APIs
¿Cómo funciona una API REST?
¿Qué es JSON?
Análisis de una respuesta JSON
Proceso general de análisis de JSON
Herramientas para trabajar con APIs y JSON
Caso práctico
Conclusiones
Preguntas
Fuentes
Objetivo
El alumno identificará qué son las APIs, cómo se utilizan, y cómo analizar las respuestas en formato JSON de forma clara y visual.
Introducción
La programación de redes actual combina desarrollo de software, fundamentos de redes y automatización. Este tema introductorio te prepara mediante la instalación y uso de máquinas virtuales basadas en Linux, el repaso de comandos esenciales y la práctica de programación en Python, lenguaje clave por su simplicidad y versatilidad. Con estas bases, estarás listo para abordar conceptos avanzados como APIs, diseño de software e infraestructura automatizada.
¿Qué son las APIs?
Las APIs permiten que diferentes aplicaciones se comuniquen entre sí, compartiendo datos y funcionalidades. Son como "puentes digitales” Una API (interfaz de programación de aplicaciones) es una pieza de código que permite a diferentes aplicaciones comunicarse entre sí y compartir información y funcionalidades.
Tipos de APIs
- Públicas (Abiertas) Remotas.
- Privadas (Internas) Locales.
¿Cómo funciona una API REST?
Ejemplo Método POST
¿Qué es JSON?
JSON significa JavaScript Object Notation, y es un formato ligero de intercambio de datos muy utilizado en APIs REST para enviar y recibir información entre un cliente (como una app o navegador) y un servidor.
- Es fácil de leer y escribir para los humanos.
- Es fácil de interpretar y generar para las máquinas.
- Se basa en una estructura de clave: valor.
- Es independiente del lenguaje, aunque viene de JavaScript, es compatible con Python, Java, PHP, etc.
Análisis de una respuesta JSON
El análisis de una respuesta JSON implica convertir una cadena JSON en un objeto o estructura de datos utilizable dentro de un programa. Esto permite acceder a los datos contenidos en el formato JSON y manipularlos según sea necesario. Los lenguajes de programación modernos ofrecen métodos y bibliotecas para realizar este análisis de forma eficiente.
Ejemplo
Proceso general de análisis de JSON
En general el análisis de Json incluye: 1. Obtención de la respuesta JSON:2. Análisis de la cadena JSON:3. Acceso y manipulación de los datos:4. Uso de los datos:
Ejemplo de análisis JSON
Ejemplo en JavaScript
Consideraciones importantes:
Herramientas para trabajar con APIs y JSON
Para trabajar con APIs y JSON, existen numerosas herramientas que facilitan desde el diseño y la documentación hasta las pruebas y la gestión de estas. Algunas herramientas destacadas incluyen Postman para pruebas y exploración de APIs, Swagger para diseño y documentación, y varias opciones para formatear y validar JSON como JSON Editor y herramientas en línea.
Herramientas para trabajar con APIs y JSON (Continua)
JSON Editor: Herramientas en línea: jq: Otras herramientas útiles: FastAPI: MuleSoft Anypoint Platform:
Postman: Swagger UI: Insomnia: Karate DSL: Playwright:
Herramientas para trabajar con APIs y JSON (Continua)
Una plataforma basada en la nube para el desarrollo y la integración de APIs.
- Apiary.io:
- SwaggerHub:
- Apollo GraphQL:
- Stoplight:
Caso Práctico
A continuación se muestra un caso práctico, debes leerlo con calma y hacer un análisis sobre el contenido que ofrece, aspectos importantes del código que se incluye. Caso Práctico: Consumo de una API pública y análisis de datos en JSON.
- Objetivo
- Contexto
- Herramientas
Código de ejemplo (simplificado):
Caso Práctico (Continua)
Código de ejemplo (simplificado):
import requests # Paso 1: Consumir API def obtener_datos_clima(ciudad): url = f"https://api.open-meteo.com/v1/forecast?latitude=19.43&longitude=-99.13¤t_weather=true" respuesta = requests.get(url) if respuesta.status_code == 200: return respuesta.json() # Devuelve el JSON como diccionario else: return None # Paso 2: Analizar JSON def analizar_datos(json_data): clima_actual = json_data['current_weather'] temperatura = clima_actual['temperature'] viento = clima_actual['windspeed']
print(f"Temperatura actual: {temperatura}°C") print(f"Velocidad del viento: {viento} km/h") # Lógica simple basada en datos if temperatura < 15: print(" Hace frío, lleva abrigo.") elif temperatura > 30: print(" Hace calor, mantente hidratado.") else: print(" El clima es templado.") # Paso 3: Ejecutar datos = obtener_datos_clima("Ciudad de México") if datos: analizar_datos(datos) else: print("Error al obtener datos del clima.") NOTA: Guardar los datos en un archivo.json
Caso Práctico (Continua)
El anterior caso práctico te permite aprender
Caso Práctico (Continua)
El anterior caso práctico te permite aprender
Conclusiones
Puntualizando aspectos importantes del tema estudiado, podemos mencionar que:
- Las APIs son herramientas esenciales en el desarrollo moderno.
- El formato JSON es el estándar actual para el intercambio de datos.
- Aprender a consumir y analizar APIs es una habilidad clave para desarrolladores.
- El análisis de JSON fomenta el pensamiento lógico y estructurado.
- Combinar APIs y JSON permite desarrollar soluciones reales y escalables.
Preguntas
Pueden hacer los comentarios que consideren importantes. ¿Tienen dudas?
Fuentes
Carmona, J. G. (2024). Guía rápida de REST API: Buenas prácticas, métodos y principios. Juan G. Carmona. https://jgcarmona.com/guia-rest-api/DesarrolloWeb.com. (s. f.). Herramientas para trabajar con API y JSON [Colección]. DesarrolloWeb.com. https://desarrolloweb.com/colecciones/herramientas-api-json/ Estefania Cassingena Navone YouTube · freeCodeCamp. ( 2021). Aprende Python - Curso de Python desde Cero. https://www.youtube.com/watch?v=DLikpfc64c Monción R. Cristian L.. (2023). Diseño e Implementación de una Plataforma & API para la Enseñanza de la Tecnología REST Plataforma educativa Netacad. (2024). DevOps. https://www.netacad.com/es
Creación de contenido.
- L.I. Sergio Velázquez Bonilla - Universidad Tecnológica del Centro de Veracruz
Revisión de contenido.
- M.A.F.O. Eva María Landa Huerta - Universidad Tecnológica del Centro de Veracruz
Diseño instruccional.
- M.R.T. Ricardo Castro Valdivia - Universidad Tecnológica del Centro de Veracruz
Diseño gráfico y multimedia.
- M.An. Cecilio Francisco Mendoza González - Universidad Tecnológica del Centro de Veracruz
Playwright
Un marco de automatización de pruebas de código abierto que incluye soporte para pruebas de API, permitiendo la automatización de pruebas funcionales y de rendimiento.
Herramientas
- Lenguaje: Python (multiparadigma: orientado a objetos + funcional)
- Librerías: requests, json (nativas de Python)
- API: OpenWeatherMap (requiere clave API, pero también hay versiones sin clave para práctica)
1. Cliente: envía POST /api/productos con JSON: { "nombre": "Camisa", "precio": 29.99 } 2. Servidor: - Valida datos - Guarda en base de datos - Devuelve: 201 Created { "id": 101, "nombre": "Camisa", "precio": 29.99 } 3. Cliente: - Muestra confirmación - Actualiza la lista de productos
Una vez analizada la respuesta, se puede acceder a los valores individuales utilizando las claves (en el caso de objetos) o índices (en el caso de arreglos).
Swagger UI
Una herramienta para visualizar y probar APIs definidas con OpenAPI (Swagger), permitiendo la interacción con los endpoints y la exploración de la documentación.
import json # Cadena JSON de ejemplo json_string = '{"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}' # Analizar la cadena JSON try: data = json.loads(json_string) # Acceder a los datos nombre = data['nombre'] edad = data['edad'] print(f"Nombre: {nombre}, Edad: {edad}") except json.JSONDecodeError: print("Error: La cadena JSON no es válida.")
Los datos analizados se pueden utilizar para realizar diversas operaciones, como mostrar información, realizar cálculos, o almacenarlos en una base de datos.
Una solicitud POST a /users con un cuerpo JSON que contenga los datos de un nuevo usuario crearía un nuevo usuario en el sistema. Código: { “name”: “Jorge Robles”, “email”: jorge.robles@sample.com } La respuesta podría ser: Código: HTTP/1.1 201 Created Location: /users/123 Donde /users/123 sería el URI del nuevo usuario creado.
// Cadena JSON de ejemplo const jsonString = '{"nombre": "Maria", "edad": 25, "ciudad": "Barcelona"}'; // Analizar la cadena JSON try { const data = JSON.parse(jsonString); // Acceder a los datos const nombre = data.nombre; const edad = data.edad; console.log(`Nombre: ${nombre}, Edad: ${edad}`); } catch (error) { console.error("Error al analizar el JSON:", error); }
Validez del JSON:
- Es crucial asegurarse de que la cadena JSON sea válida para evitar errores de análisis.
- Conocer la estructura del JSON (si es un objeto, un arreglo, o una combinación de ambos) es fundamental para acceder a los datos correctamente.
- Es recomendable implementar un manejo de errores para detectar y gestionar posibles problemas durante el análisis.
- Los lenguajes de programación ofrecen funciones como json.loads() en Python, JSON.parse() en JavaScript o bibliotecas como Json Slurper en Groovy, para realizar el análisis.
jq
Un analizador JSON de línea de comandos ligero y flexible, ideal para manipular y extraer datos de archivos JSON.
La respuesta JSON puede provenir de una solicitud a una API, la lectura de un archivo o cualquier otra fuente que devuelva datos en este formato.
SwaggerHub
Una plataforma para el diseño, la documentación y la colaboración en APIs, basada en las especificaciones OpenAPI y AsyncAPI.
Privadas Locales.
(Internas)
Son interfaces de programación de aplicaciones diseñadas para uso interno dentro de una organización. Estas APIs permiten la comunicación y el intercambio de datos entre componentes internos de un sistema o diferentes aplicaciones dentro de la misma organización.
// Cadena JSON de ejemplo const jsonString = '{"nombre": "Maria", "edad": 25, "ciudad": "Barcelona"}'; // Analizar la cadena JSON try { const data = JSON.parse(jsonString); // Acceder a los datos const nombre = data.nombre; const edad = data.edad; console.log(`Nombre: ${nombre}, Edad: ${edad}`); } catch (error) { console.error("Error al analizar el JSON:", error); }
Apiary.io
Una plataforma para diseñar, documentar y probar APIs, utilizando principalmente la especificación API Blueprint.
FastAPI
Un framework web moderno para crear API en Python, enfocado en la facilidad de uso y la compatibilidad con estándares abiertos como OpenAPI y JSON Schema.
Una solicitud POST a /users con un cuerpo JSON que contenga los datos de un nuevo usuario crearía un nuevo usuario en el sistema. Código: { “name”: “Jorge Robles”, “email”: jorge.robles@sample.com } La respuesta podría ser: Código: HTTP/1.1 201 Created Location: /users/123 Donde /users/123 sería el URI del nuevo usuario creado.
JSON Editor
Una herramienta web de código abierto que proporciona una interfaz gráfica para editar y validar archivos JSON, útil para manejar datos complejos.
Herramientas en línea
Existen numerosos sitios web que ofrecen servicios para formatear, validar y convertir JSON, como Geekflare, que también incluye herramientas para convertir JSON a otros formatos como CSV y XML.
Contexto
Queremos obtener información del clima actual en una ciudad específica utilizando la API de OpenWeatherMap (o una similar), y luego:- Extraer datos clave del JSON (temperatura, humedad, condición climática).
- Mostrar un resumen legible para el usuario.
- Aplicar lógica condicional sobre los datos (ej: ¿necesito paraguas?).
Karate DSL
Un marco de pruebas de código abierto que simplifica las pruebas de API al permitir escribir pruebas en un lenguaje específico del dominio, ideal para desarrolladores y testers.
Stoplight
Una herramienta para la gestión de documentación y diseño de APIs, con un enfoque en flujos de trabajo que priorizan el diseño.
Postman
Una herramienta popular para probar APIs REST, con una interfaz gráfica intuitiva para enviar solicitudes y analizar respuestas, incluyendo soporte para JSON.
Apollo GraphQL
Una plataforma para construir clientes y APIs GraphQL, ofreciendo herramientas para el desarrollo y la gestión de APIs basadas en GraphQL.
Objetivo
Consumir datos de una API pública que entrega respuestas en formato JSON, analizarlos y extraer información relevante.
Se utiliza una función o método específico del lenguaje de programación para convertir la cadena JSON en un objeto o estructura de datos.
MuleSoft Anypoint Platform
Una plataforma de integración empresarial que ofrece herramientas para diseñar, construir, probar, documentar y gestionar APIs. Permite conectar aplicaciones, datos y dispositivos a través de una arquitectura basada en APIs, facilitando la orquestación de servicios y el intercambio de datos entre sistemas en la nube y on-premise. Soporta formatos como JSON, XML y protocolos como HTTP, SOAP, y REST.
Públicas Remotas.
(Abiertas)
Son interfaces de programación de aplicaciones que están disponibles para el público en general, permitiendo a desarrolladores externos acceder y utilizar funcionalidades o datos de un servicio o aplicación específica.