JSON (JavaScript Object Notation) es un formato de datos ligero que se utiliza a menudo para intercambiar datos entre un servidor y un cliente web. En esta guía te mostraré cómo importar y exportar JSON en Python. A través de un ejemplo práctico, aprenderás a transformar datos en una estructura JSON legible y también a convertirlos de nuevo en estructuras de datos de Python.
Principales conclusiones
- Uso del módulo JSON de Python para el procesamiento de datos
- Diferencia entre JSON y otros formatos como XML o CSV
- Opciones para dar formato a JSON para mejor legibilidad
- Conversión eficiente entre JSON y estructuras de datos de Python
Guía paso a paso
Para trabajar con JSON en Python, necesitas el módulo JSON integrado. Vamos a repasar algunos pasos básicos para entender cómo puedes importar y exportar JSON.
Primero, debes asegurarte de que has importado el módulo JSON. En Python, esto se hace importando el módulo. Debes comenzar con el siguiente comando:

Ahora tienes acceso a las funciones del módulo JSON. Una función central que utilizaremos es json.dumps, que permite convertir datos de Python a formato JSON.
Un ejemplo podrían ser personajes de héroes que están definidos como diccionarios en Python. Puedes estructurar esta información colocándola en una estructura de datos como un diccionario o un arreglo. Supongamos que has definido los siguientes héroes:

Esta estructura te permite presentar los personajes de manera ordenada antes de convertirlos al formato JSON.
Para exportar tus héroes a formato JSON, utilizas la función json.dumps. Este es el proceso de "volcado" de los datos. El resultado de la conversión debería verse así:

Cuando ejecutes el comando print(encoded), verás la estructura convertida a JSON. Esto es una representación de las estructuras de datos de Python al formato JSON, que es adecuado para el intercambio con otros sistemas.
Otra característica importante es la opción de formato. Si deseas lograr una mejor legibilidad de la salida de JSON, puedes usar la opción indent. Esto ajusta la salida para que sea más legible para las personas:

Al usar indent=4, agregas cuatro espacios para sangrar cada nivel. Esto facilita la comprensión, especialmente con estructuras JSON complejas y profundamente anidadas.
Pero, ¿qué pasa si tienes un archivo JSON y quieres que los datos sean devueltos a Python? Aquí es donde entra en juego la función json.loads. Asegúrate de que eliges la versión correcta, que es loads, para cargar los datos JSON:

Cuando ejecutes este paso, recibirás los registros originales en formato Python, que ahora pueden verse así:

Estos pasos te muestran lo fácil que es importar y exportar JSON en Python. Es importante que mantengas en mente que las estructuras de datos de JSON y Python son similares, pero no idénticas. JSON utiliza corchetes cuadrados para representar datos de forma similar a los arrays en Python y llaves para los diccionarios.
Resumen – Programación en Python: Procesar datos JSON
En esta guía, has aprendido cómo procesar datos en Python con JSON. Has visto ejemplos prácticos de la importación y exportación de datos JSON y entendido la importancia de la estructuración para una fácil legibilidad. Con esta base, puedes comenzar a gestionar tus datos de manera efectiva y organizada.
Preguntas frecuentes
¿Cómo importo el módulo JSON en Python?Puedes importar el módulo JSON con import json.
¿Cuál es la diferencia entre 'dump' y 'dumps'?'dump' es adecuado para escribir en un archivo, mientras que 'dumps' devuelve una cadena.
¿Por qué JSON es más legible que XML?JSON tiene menos sobrecarga, lo que hace que la representación sea más simple y clara.
¿Cómo puedo dar formato a la salida de JSON?Con la opción indent en json.dumps puedes mejorar la legibilidad mediante la sangría.
¿Cómo convierto JSON de nuevo a un diccionario de Python?Usa la función json.loads para convertir una cadena JSON de nuevo a un diccionario de Python.