Valida el JSON antes de las solicitudes API
Una validación rápida antes de enviar una solicitud API puede separar los problemas de sintaxis JSON de los errores de autenticación, esquema y backend.
Por qué validar antes de enviar
Cuando una petición a una API falla, el mensaje de error puede apuntar a autenticación, permisos, validación de schema o JSON mal formado. Validar el body JSON primero elimina toda una clase de fallos antes de que la petición llegue al servidor. Además, hace que los comandos cURL copiados, los bodies de Postman, los samples de webhooks y los tests de integración sean más fáciles de revisar.
Comprobaciones de sintaxis que conviene hacer
Una pasada estricta de validación JSON debería confirmar que el body parsea como JSON y que la salida formateada coincide con lo que pretendías enviar.
- Cada cadena y cada clave de objeto usa comillas dobles
- No hay comentarios ni comas finales
- Los booleanos son true o false, no True ni False
- Los valores ausentes son null o claves omitidas, no undefined
- El valor de nivel superior coincide con lo que el endpoint espera
Los headers también importan
Un body JSON válido aún puede fallar si la petición no declara el content type correcto. Para la mayoría de APIs JSON, envía Content-Type: application/json. Si el endpoint también comprueba el Accept, incluye Accept: application/json para que cliente y servidor se pongan de acuerdo en el formato.
Body de petición erróneo
{ userId: 42, active: True, tags: ['beta',], }
Body de petición corregido
{ "userId": 42, "active": true, "tags": ["beta"] }
Tras la validación de sintaxis
La validación de sintaxis solo prueba que el documento es parseable. Para peticiones de producción, comprueba además el schema: campos obligatorios, campos desconocidos, tipos de valor, longitudes de array, valores de enum, cadenas de fecha y si los identificadores numéricos deberían ser números o cadenas.
Consejo de depuración
Si el servidor sigue rechazando un JSON válido, compara el body formateado con un ejemplo conocido. Un diff semántico de JSON ayuda a encontrar cambios reales de valores ignorando el orden de las claves, especialmente útil cuando distintos generadores producen los payloads.
Un pequeño wrapper de fetch + Ajv
Valida el cuerpo de la respuesta contra un schema conocido antes de pasarlo al código de la app. Compila el schema una sola vez al cargar el módulo y protege cada llamada: const validate = ajv.compile(schema); const res = await fetch(url); const data = await res.json(); if (!validate(data)) throw new Error("Schema mismatch: " + ajv.errorsText(validate.errors)); return data; — así las rupturas de contrato upstream salen a la luz en la frontera, no cinco capas más abajo.
Guías de reparación de JSON
Centros temáticos
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guías específicas
- Cómo decodificar cadenas Base64 (y payloads JWT)
- Codificación URL: codifica parámetros de consulta y rutas
- Convertir YAML a JSON (y evitar errores de indentación)
- Convertir JSON a CSV: aplanar un arreglo de objetos
- Convertir JSON a XML: raíz, atributos y arreglos
- Escapar JSON como literal de cadena (y decodificar JSON con doble codificación)
- Arreglar comas finales en JSON
- Arreglar comillas simples en JSON
- Arreglar claves sin comillas en JSON
- Reparar JSON generado por LLM
- Arreglar el error de parse JSON: Expected Property Name
- JSON frente a literal de objeto JavaScript
- Formateador JSON frente a JSON Repair
- Arreglar errores JSON Unexpected Token
- Convertidor JSON a objeto JavaScript