El error "Parse JSON" en el nodo HTTP Request de n8n es uno de los dolores de cabeza más comunes para los ingenieros DevOps que automatizamos flujos de trabajo. Este error, aunque aparentemente simple, puede detener completamente la ejecución de un flujo y, lo que es peor, puede ser difícil de diagnosticar sin el conocimiento adecuado. El error generalmente ocurre cuando n8n intenta analizar la respuesta de una solicitud HTTP como JSON, pero el formato de la respuesta no es válido o no es JSON en absoluto. Esto puede ser frustrante, especialmente cuando la API que estás utilizando está bien documentada y la solicitud parece correcta.
Resumen rápido: El error "Parse JSON" en el nodo HTTP Request ocurre porque la respuesta del servidor no es un JSON válido. Las causas principales son: respuestas con formato incorrecto, errores de servidor (códigos de estado distintos de 200), o el Content-Type de la respuesta no indica JSON.
Causas Comunes del Error "Parse JSON"
Entender las causas subyacentes es crucial para solucionar este error de manera eficiente. Aquí te presento las más frecuentes:
1. Respuestas HTTP con Formato Inválido o Incorrecto
Esta es, con diferencia, la causa más común. La respuesta del servidor podría ser HTML, texto plano, XML o cualquier otro formato, pero no JSON. Incluso si el servidor *debería* devolver JSON, un pequeño error en la respuesta (comillas incorrectas, llaves o corchetes faltantes, etc.) hará que la función de análisis de JSON de n8n falle.
Pasos para la Resolución
- Inspecciona la Respuesta del Servidor: Utiliza herramientas de desarrollo del navegador (pestaña "Network") o la pestaña "Datos de Entrada/Salida" dentro del nodo HTTP Request en n8n. Observa cuidadosamente la respuesta. ¿Es realmente JSON?
- Verifica el Content-Type: En las cabeceras de la respuesta HTTP, asegúrate de que el servidor esté enviando el correcto
Content-Type. Debe serapplication/json(o algo similar, comoapplication/vnd.api+json). Si no es así, el problema no está en n8n sino en la configuración del servidor que provee la API. - Valida el JSON: Usa un validador de JSON online (hay muchos gratuitos) para pegar la respuesta del servidor y verificar si es sintácticamente correcta. Esto te revelará errores menores.
- Considera la opción "Response Format" en n8n: Dentro del nodo HTTP Request, en la sección "Response", asegúrate de que "Response Format" esté configurado correctamente. Normalmente, para JSON, debe estar en "JSON". Si la respuesta no es JSON, considera otras opciones como "Text".
2. Códigos de Estado HTTP no Exitosos (Errores del Servidor)
Un código de estado HTTP diferente de 200 (OK) indica un error en el servidor. Aunque el servidor *podría* devolver una respuesta JSON que explica el error (por ejemplo, con un código de error y un mensaje), no es obligatorio. En muchos casos, el servidor devuelve una página de error en HTML o simplemente un mensaje de error como texto plano.
Pasos para la Resolución
- Verifica el Código de Estado HTTP: En la pestaña "Datos de Entrada/Salida" de n8n, revisa el código de estado HTTP de la respuesta. Un código como 400 (Bad Request), 401 (Unauthorized), 404 (Not Found) o 500 (Internal Server Error) indica un problema.
- Ajusta el Manejo de Errores en n8n: En el nodo HTTP Request, en la sección "Response", tienes opciones para manejar códigos de estado de error. Por defecto, n8n probablemente detendrá la ejecución del flujo en caso de error. Considera las siguientes opciones:
- "Ignore Errors": Esta opción *no* es recomendable a menos que sepas exactamente lo que estás haciendo. Ignorar errores significa que n8n continuará procesando la respuesta, incluso si es un error, lo que puede llevar a comportamientos inesperados.
- "Return Error": Esta opción permite que el flujo se ejecute y puedes manejar el error en el flujo mismo, por ejemplo, con un nodo "IF" para verificar el código de estado y tomar diferentes caminos según el resultado.
- Examina el Cuerpo de la Respuesta del Error: Si el servidor devuelve una respuesta informativa en el cuerpo (aunque sea HTML o texto plano), analiza esa información para entender qué salió mal. Esto puede ser muy útil para depurar.
3. Problemas con las Cabeceras HTTP
Aunque menos comunes, problemas con las cabeceras HTTP pueden causar este error. Esto incluye: Content-Type incorrecto (como se mencionó antes), problemas con la compresión (Gzip, por ejemplo) o problemas con la autenticación.
Pasos para la Resolución
- Verifica las Cabeceras de Solicitud (Headers): Asegúrate de que las cabeceras de tu solicitud HTTP en n8n sean correctas. Por ejemplo, asegúrate de enviar la cabecera
Accept: application/jsonpara decirle al servidor que esperas JSON. - Verifica el Content-Type de la Respuesta (Headers): Como se mencionó anteriormente, asegúrate de que el servidor esté devolviendo la cabecera
Content-Type: application/json. - Considera la Descompresión (Gzip): Si el servidor comprime la respuesta (con Gzip, por ejemplo), n8n debería manejarlo automáticamente. Sin embargo, si experimentas problemas, verifica si el servidor está devolviendo la cabecera
Content-Encoding: gzip. Es posible que necesites descomprimir la respuesta manualmente en un nodo "Code" con Javascript si n8n no lo está manejando correctamente (esto es poco probable, pero es una posibilidad).// Ejemplo de descompresión (usando la biblioteca "zlib", disponible en el entorno de ejecución de n8n) const zlib = require('zlib'); const compressedData = Buffer.from(item.json.response, 'base64'); // Asumiendo que response es la respuesta codificada en base64 zlib.gunzip(compressedData, (err, uncompressedData) => { if (err) { console.error(err); return; } item.json.response = uncompressedData.toString('utf8'); }); - Autenticación: Si la API requiere autenticación (API Keys, OAuth, etc.), asegúrate de que la configuración en el nodo HTTP Request sea correcta y que las credenciales sean válidas. Un problema de autenticación puede llevar a respuestas de error (como 401) que no son JSON.
| Causa | Síntomas | Solución |
|---|---|---|
| Formato de respuesta inválido | Error "Parse JSON"; respuesta no es JSON válido. | Validar JSON; verificar Content-Type; revisar la respuesta en el navegador. |
| Código de estado HTTP de error | Error "Parse JSON"; código de estado diferente de 200 (OK). | Verificar código de estado; manejar errores en n8n; examinar el cuerpo de la respuesta. |
| Cabeceras HTTP incorrectas | Error "Parse JSON"; problemas con Content-Type, compresión, autenticación. | Verificar las cabeceras de solicitud y respuesta; considerar la descompresión (gzip); verificar la autenticación. |
¿Cansado de errores de "Parse JSON" y flujos que fallan?
Imagina crear flujos de trabajo en n8n sin errores, sin tener que depurar constantemente problemas de JSON. Con la IA de Scriflow, puedes generar flujos perfectos, optimizados y sin errores, ahorrando tiempo y esfuerzo. Simplifica tu proceso de automatización y enfócate en lo que realmente importa: la innovación. ¡Prueba Scriflow hoy mismo y lleva tus flujos de n8n al siguiente nivel!