Saltar al contenido

¿Cómo trabajar con JSON en Python usando json.loads() y json.dumps()? Guía paso a paso

28/04/2025
¿Cómo trabajar con JSON en Python (json.loads() json.dumps())?
Compartir:
Índice de Contenido

Introducción a JSON y Python


El formato JSON (JavaScript Object Notation) se ha convertido en uno de los estándares más utilizados para el intercambio de datos entre aplicaciones, gracias a su simplicidad y legibilidad. Python, como lenguaje de programación versátil, ofrece herramientas nativas para manipular datos en JSON a través del módulo json. En este artículo, aprenderás cómo trabajar con JSON en Python usando json.loads() y json.dumps(), de forma clara y con ejemplos prácticos.

¿Qué es JSON y por qué es importante?

JSON es un formato de texto ligero, utilizado para almacenar y transportar datos. Es independiente del lenguaje, pero fácil de leer y escribir tanto para humanos como para máquinas. Se utiliza ampliamente en APIs, aplicaciones web y servicios en la nube.

El módulo json en Python

Python incluye el módulo json en su biblioteca estándar, lo que permite a los desarrolladores serializar (convertir a JSON) y deserializar (convertir desde JSON) datos de manera sencilla. Las dos funciones principales para trabajar con JSON en Python son json.loads() y json.dumps().

¿Qué hace json.loads()?

La función json.loads() convierte una cadena JSON en un objeto de Python (como diccionario, lista, etc). Es la forma de leer datos JSON desde una fuente externa y convertirlos en una estructura manipulable dentro de Python.

¿Para qué sirve json.dumps()?

Por el contrario, json.dumps() toma un objeto de Python y lo convierte en una cadena JSON. Esto es útil para almacenar o enviar datos en formato JSON.

Quizás también te interese:  ¿Cómo usar break, continue y pass en bucles en Python? Explicación fácil con ejemplos

Paso a paso: ¿Cómo convertir JSON a objetos Python con json.loads()?

  1. Importar el módulo json:
    import json
  2. Definir una cadena JSON:
    
    json_string = {"nombre": "Ana", "edad": 28, "ciudad": "Madrid"}
                
  3. Convertir la cadena JSON a un diccionario de Python:
    
    persona = json.loads(json_string)
    print(persona)
    # Salida: {nombre: Ana, edad: 28, ciudad: Madrid}
                
  4. Acceder a los datos:
    
    print(persona[nombre])  # Salida: Ana
    print(persona[edad])    # Salida: 28
                

Paso a paso: ¿Cómo convertir objetos Python a JSON con json.dumps()?

  1. Crear un diccionario de Python:
    
    datos = {
        "nombre": "Luis",
        "edad": 35,
        "ciudad": "Barcelona"
    }
                
  2. Convertir el diccionario a una cadena JSON:
    
    json_resultado = json.dumps(datos)
    print(json_resultado)
    # Salida: {"nombre": "Luis", "edad": 35, "ciudad": "Barcelona"}
                
  3. Opcional: Mejorar la legibilidad del JSON:
    
    json_pretty = json.dumps(datos, indent=4, ensure_ascii=False)
    print(json_pretty)
    # Salida bonita:
    # {
    #     "nombre": "Luis",
    #     "edad": 35,
    #     "ciudad": "Barcelona"
    # }
                

Trabajar con estructuras más complejas

Puedes trabajar con listas, diccionarios anidados y otros tipos de datos compatibles. Por ejemplo:


json_string = 
[
    {"nombre": "Ana", "edad": 28},
    {"nombre": "Luis", "edad": 35}
]


personas = json.loads(json_string)
for persona in personas:
    print(persona[nombre])
# Salida:
# Ana
# Luis
    

Consejos y mejores prácticas para manipular JSON en Python

  • Utiliza indent en json.dumps() para mejorar la legibilidad.
  • Usa ensure_ascii=False para conservar caracteres especiales.
  • Si trabajas con archivos, utiliza json.load() y json.dump() para leer y escribir directamente desde y hacia archivos.
  • Verifica siempre que el JSON sea válido antes de cargarlo.
Quizás también te interese:  ¿Cómo retornar múltiples valores desde una función? Métodos y ejemplos en programación

Ejemplo: Leer y escribir archivos JSON


# Escribir un diccionario a un archivo JSON
with open(datos.json, w, encoding=utf-8) as f:
    json.dump(datos, f, ensure_ascii=False, indent=4)

# Leer desde un archivo JSON
with open(datos.json, r, encoding=utf-8) as f:
    datos_leidos = json.load(f)
    print(datos_leidos)
    

Resumen: ¿Cómo trabajar con JSON en Python (json.loads() y json.dumps())?

Quizás también te interese:  ¿Cómo usar @property en Python para crear getters y setters fácilmente?

En conclusión, trabajar con JSON en Python es un proceso sencillo y potente gracias al módulo json. Recuerda que:

  • json.loads() convierte una cadena JSON en un objeto de Python.
  • json.dumps() convierte un objeto de Python en una cadena JSON.

Dominar estas funciones te permitirá integrar fácilmente tu aplicación Python con APIs y servicios modernos que utilicen JSON como formato de datos.

Compartir: