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 ·

Serialización y deserialización

Serialización y deserialización: JSON como formato de intercambio

Introducción

La serialización y la deserialización son procesos fundamentales en el manejo de datos, especialmente cuando se trabaja con formatos de intercambio como JSON. JSON (JavaScript Object Notation) es una forma sencilla y legible de representar datos estructurados. Es ampliamente utilizado para transferir y almacenar información en aplicaciones web y sistemas backend.

En este artículo, exploraremos cómo serializar y deserializar datos en formato JSON utilizando Python. Veremos ejemplos prácticos, discutiremos errores comunes y proporcionaremos un checklist de verificación para asegurar que nuestro proceso sea eficiente y seguro.

Explicación principal con ejemplos

La serialización es el proceso de convertir una estructura de datos en una cadena de caracteres (en este caso, JSON) que puede ser almacenada o transmitida. La deserialización es la operación inversa: convertir una cadena de texto JSON de vuelta a una estructura de datos.

Ejemplo de serialización

import json

# Crear un diccionario Python
data = {
    "nombre": "Juan",
    "edad": 30,
    "ciudad": "Madrid"
}

# Serializar el diccionario a JSON
json_string = json.dumps(data, indent=4)
print(json_string)

La salida será:

{
    "nombre": "Juan",
    "edad": 30,
    "ciudad": "Madrid"
}

Ejemplo de deserialización

# JSON String a diccionario Python
json_data = json.loads(json_string)

print(json_data)

La salida será:

{
    'nombre': 'Juan',
    'edad': 30,
    'ciudad': 'Madrid'
}

Errores típicos / trampas

  1. Tipos de datos no serializables:

JSON solo soporta ciertos tipos de datos básicos: cadenas, números, booleanos, diccionarios (objetos), listas (arreglos) y None. Si intentamos serializar un tipo de dato complejo o una función, obtendremos un error.

  1. Problemas con caracteres especiales:

JSON no soporta caracteres Unicode sin escape. Asegúrate de que todos los caracteres en tu cadena sean válidos para JSON.

  1. Errores al manejar espacios en blanco y tabulaciones:

Los espacios en blanco y las tabulaciones son importantes para la legibilidad del JSON, pero pueden causar problemas si no se manejan correctamente durante la serialización o deserialización.

Checklist accionable

  1. Verifica que todos los tipos de datos utilizados sean soportados por JSON.
  2. Asegúrate de que los caracteres en tu cadena son válidos para JSON (por ejemplo, escapar los caracteres especiales).
  3. Utiliza indent al serializar para mejorar la legibilidad del JSON generado.
  4. Verifica que no haya espacios en blanco o tabulaciones extraños en tus cadenas.
  5. Maneja correctamente las excepciones durante la serialización y deserialización.

Cierre con "Siguientes pasos"

  • NumPy: Aprende a manipular y analizar datos numéricos grandes usando NumPy, que puede ser útil para trabajar con matrices o arrays de datos.
  • Pandas: Avanza en el manejo de datos estructurados utilizando Pandas, una biblioteca poderosa para análisis de datos.
  • Machine Learning: Explora cómo serializar y deserializar modelos de Machine Learning para su almacenamiento o transferencia.

En resumen, la serialización y deserialización con JSON son herramientas esenciales en el procesamiento de datos. Asegúrate de manejar correctamente los tipos de datos y caracteres especiales para evitar errores comunes, y sigue mejorando tus habilidades en Python para trabajar eficientemente con datos reales.

¡Esperamos que este artículo te haya sido útil! Si tienes preguntas o comentarios, no dudes en compartirlos.

Contacto

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