¿Cómo usar el módulo import JSON en Python?

| Última modificación: 14 de enero de 2025 | Tiempo de Lectura: 3 minutos

El módulo perteneciente a import JSON en Python nos ofrece la posibilidad de trabajar con datos estructurados, ya que es el estándar de facto para intercambiar datos entre sistemas. Python nos facilita enormemente el manejo de JSON gracias a su módulo incorporado json. En este artículo te mostraremos cómo usarlo y cómo funciona.

import JSON

¿Qué es JSON?

JSON es un formato ligero de intercambio de datos que hace uso de texto para representar objetos, arreglos, números y valores booleanos. Tiene una sintaxis simple de entender y se basa en el lenguaje de programación JavaScript, pero es independiente de cualquier otro lenguaje de programación. Su popularidad proviene de su gran simplicidad y de la posibilidad de ser compatible con casi todas las plataformas.

¿Qué es el módulo import json?

El módulo json de Python nos permite codificar y decodificar datos JSON de forma muy rápida y fácil. Con el mero hecho de usar el import json, ya puedes convertir datos Python a JSON y viceversa. Esto se convierte en una prioridad si trabajas con API’s, bases de datos o archivos de configuración.

¿Cómo convertir datos JSON a Python?

Pongamos un ejemplo en el que tienes una cadena JSON y quieres convertirla en un objeto Python, como un diccionario. Para esto usas el método json.loads():

import jsonn

# Cadena JSON
json_string = '{ "nombre": "Juan", "edad": 30, "ciudad": "Madrid" }'

# Convertir JSON a un diccionario
datos = json.loads(json_string)

print(datos["edad"]) # Output: 30

Otro método relacionado es json.load(): Convierte datos JSON directamente desde un archivo.

Convertir datos Python a JSON

Para transformar un objeto Python (como un diccionario o lista) a JSON, utilizamos json.dumps().

import json

# Diccionario de Python
persona = {
"nombre": "Ana",
"edad": 25,
"ciudad": "Barcelona"
}

# Convertir a JSON
json_string = json.dumps(persona)

print(json_string)

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Otro método relacionado es json.dump(): Guarda directamente un objeto Python como JSON en un archivo.

Personalizar la salida de JSON

El módulo json permite personalizar la forma en que se generan las cadenas JSON. Por ejemplo:

  • Añadir sangrías para mayor legibilidad: print(json.dumps(persona, indent=4))
  • Ordenar las claves alfabéticamente: print(json.dumps(persona, sort_keys=True))
  • Cambiar separadores predeterminados: print(json.dumps(persona, indent=2, separators=(". ", " = ")))
  • Cuidados al manejar datos JSON: Trabajar con JSON requiere precaución, especialmente si los datos provienen de fuentes externas. Una cadena JSON malformada puede causar errores o consumir recursos innecesarios. Por ejemplo:
import json

try:
datos = json.loads('{"nombre": "Ana", "edad": 25}')
except json.JSONDecodeError as e:
print(f"Error al decodificar JSON: {e}")

¿Cómo puedo usar import JSON?: casos de uso avanzados

  • Convertir tipos de datos personalizados: Si necesitas serializar objetos que no son compatibles con JSON por defecto, puedes usar el argumento default en json.dumps():
import json
from datetime import datetime

def convertir_fecha(obj):
if isinstance(obj, datetime):
return obj.isoformat()
raise TypeError("Tipo no serializable")

fecha_actual = datetime.now()
json_fecha = json.dumps({"fecha": fecha_actual}, default=convertir_fecha)

print(json_fecha)
  • Decodificación personalizada: Puedes transformar objetos JSON en tipos personalizados de Python usando object_hook:
import json

def convertir_a_clase(d):
return Persona(d["nombre"], d["edad"])

class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad

json_string = '{"nombre": "Luis", "edad": 40}'
persona = json.loads(json_string, object_hook=convertir_a_clase)

print(persona.nombre) # Output: Luis

A modo de resumen…

MétodoDescripción
json.load()Lee y convierte datos JSON desde un archivo.
json.loads()Convierte una cadena JSON en un objeto Python.
json.dump()Escribe datos Python en un archivo en formato JSON.
json.dumps()Convierte datos Python a una cadena JSON.

Si te interesa el campo de la programación y quieres seguir aprendiendo sobre diferentes lenguajes, no dudes en unirte a nuestro bootcamp en programación para principiantes, en donde accederás a la mejor formación que te permitirá incursionar en un mercado laboral prolífico y lleno de oportunidades. ¡No lo dudes más y únete a la revolución tecnológica!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a programar desde cero

Full Stack JR. Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado