Analizador y validador Python JSON

Aprenda a leer, validar, modificar y serializar JSON en Python. Domina la biblioteca json incorporada con ejemplos realistas.

Pruébelo en el editor

Descripción general

JSON (JavaScript Object Notation) es el formato estándar para intercambiar datos en la web. Python proporciona un potente módulo integrado llamado "json" que traduce cadenas JSON en diccionarios de Python y viceversa.

El módulo expone dos conjuntos principales de operaciones: `loads` y `dumps` para manejar cadenas JSON directamente, y `load` y `dump` para escribir o leer datos directamente desde secuencias de archivos.

Cuando se trabaja con JSON, el manejo de errores es fundamental. Python genera un `json.JSONDecodeError` si la sintaxis de la cadena está rota, lo cual es esencial detectar cuando se consumen cargas útiles de API públicas.

Código y salida de ejecución

Un script que demuestra la validación de cadenas JSON, el análisis de dict, las modificaciones y la impresión bonita.

import json

raw_json = """
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": ["admin", "developer"],
        "verified": true
    }
}
"""

try:
    # Parsing JSON string into Python dict
    data = json.loads(raw_json)
    print("--- JSON Decoded Successfully ---")
    print(f"Username: {data['data']['username']}")
    print(f"Is Admin: {'admin' in data['data']['roles']}")
    
    # Mutating Python dict
    data['data']['verified'] = False
    data['data']['last_login'] = "2026-05-25"
    
    # Serializing dict back to formatted JSON
    pretty_json = json.dumps(data, indent=4)
    print("\n--- Modified JSON String ---")
    print(pretty_json)
    
except json.JSONDecodeError as e:
    print(f"Invalid JSON Format: {e}")
Salida terminal
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True

--- Modified JSON String ---
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": [
            "admin",
            "developer"
        ],
        "verified": false,
        "last_login": "2026-05-25"
    }
}

Implementación paso a paso

  • Lectura de configuraciones de aplicaciones y archivos de credenciales
  • Análisis de respuestas de puntos finales de API REST
  • Guardar estados o niveles del programa en utilidades de escritorio

Preguntas frecuentes

¿Cuál es la diferencia entre volcado y volcado en Python?

`dumps` serializa un objeto en un formato de cadena JSON, mientras que `dump` escribe la secuencia JSON serializada directamente en un objeto de archivo que se puede escribir.

¿Cómo maneja Python los valores nulos JSON?

El decodificador `json` de Python asigna automáticamente JSON `null` a `None`, `true` y `false` a `True` y `False`, y matrices a listas.

Temas relacionados