Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Programación orientada a datos con Python, Unidad 3 — Lectura y escritura de datos reales, 3.2 — JSON como formato de intercambio ·

JSON como estructura de datos

JSON como estructura de datos

Introducción

JSON, que significa JavaScript Object Notation, es un formato de intercambio de datos ligero y fácil de leer que se ha vuelto popular gracias a su simplicidad y versatilidad. Este formato se utiliza ampliamente para intercambiar datos entre aplicaciones web, especialmente en la comunicación con servidores back-end. Al ser una estructura de datos tan común, es fundamental conocer cómo trabajar con JSON en Python, ya que permite realizar tareas como el procesamiento, lectura y escritura de datos de manera eficiente.

Explicación principal

JSON se basa en un modelo de datos similar a los objetos JavaScript o Python. Cada dato JSON puede ser uno de las siguientes tipos: cadena (string), número, objeto (dict), array (list), booleano (True/False) o null. En Python, los objetos JSON se pueden representar utilizando diccionarios y listas.

Ejemplo básico

Vamos a ver un ejemplo práctico en código:

import json

# Definición de un objeto JSON como un string
json_string = '{"name": "Qwen", "age": 30, "is_student": false}'

# Conversión del string JSON a un diccionario Python
data_dict = json.loads(json_string)

print(data_dict)

Este ejemplo convierte el string JSON en un diccionario de Python. Ahora, vamos a ver cómo leer y escribir archivos JSON:

import json

# Crear un objeto JSON como un diccionario Python
data = {
    "name": "Qwen",
    "age": 30,
    "is_student": False,
    "courses": ["Machine Learning", "Deep Learning"]
}

# Escribir el diccionario en un archivo JSON
with open('qwen.json', 'w') as json_file:
    json.dump(data, json_file)

# Leer el archivo JSON de nuevo a un diccionario Python
with open('qwen.json', 'r') as json_file:
    read_data = json.load(json_file)
print(read_data)

Errores típicos / trampas

  1. Estructura incorrecta: JSON requiere una estructura válida, lo que incluye comillas dobles (") alrededor de las claves y valores. Si se usan comillas simples ('), el archivo no será válido.
  1. Tipos incompatibles: Al leer archivos JSON, los tipos deben ser manejados correctamente para evitar errores. Por ejemplo, True/False en Python equivalen a true/false en JSON.
  1. Espacios y tabulaciones: JSON es sensible al espacio y las tabulaciones. Un archivo mal formado puede causar errores durante la lectura.

Checklist accionable

  1. Verifica que el string JSON esté correctamente formado antes de intentar convertirlo a un diccionario.
  2. Usa comillas dobles (") al definir claves y valores en el string JSON, ya que Python no lo aceptará si usa comillas simples (').
  3. Conoce los equivalentes de tipos JSON con Python, como True/False con true/false, o null con None.
  4. Maneja correctamente los errores durante la lectura y escritura de archivos JSON para evitar interrupciones en tu flujo de trabajo.
  5. Valida la estructura del archivo JSON antes de leerlo utilizando una herramienta online como JSONLint.

Cierre

Siguientes pasos

  • Aprende a manejar datos complejos: Comprueba cómo trabajar con objetos y arrays anidados en JSON.
  • Optimiza tu flujo de trabajo: Aplica estas técnicas para mejorar la eficiencia en tus proyectos que involucran intercambio de datos.
  • Explore más recursos: Investiga sobre otros formatos de intercambio de datos como XML o YAML, y cómo trabajar con ellos.

Al dominar el manejo de JSON en Python, estás preparado para abordar desafíos en la lectura y escritura de datos reales, lo que es una habilidad crucial en programación orientada a datos.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).