Arreglar comas finales en JSON
Una coma final después de la última propiedad de un objeto o del último elemento de un arreglo es válida en algunos contextos de JavaScript, pero no es JSON válido.
Por qué aparece el error
Los literales de objeto JavaScript suelen permitir una coma final, pero JSON exige que el último ítem vaya seguido directamente del corchete o llave de cierre.
Ejemplo erróneo
{ "name": "Ada", "active": true, }
JSON corregido
{ "name": "Ada", "active": true }
De dónde salen las comas finales
La mayoría aparecen cuando alguien edita a mano una configuración, comenta el último ítem o pega desde código JavaScript o TypeScript. Los motores de plantillas y los generadores de código también las producen cuando un bucle emite una coma después de cada ítem sin tener en cuenta el índice final.
Por qué algunos parsers las aceptan y JSON no
Los literales de objeto JavaScript, JSON5, JSONC, YAML y la mayoría de sintaxis de literales en otros lenguajes permiten coma final porque deja diffs más limpios. JSON, en RFC 8259, deliberadamente no — parsers estrictos como JSON.parse, el encoding/json de Go o el módulo json de Python las rechazan.
Detectar comas finales antes de producción
Pasa por lint los archivos de configuración en CI con un parser JSON estricto (jq, python -m json.tool o node -e 'JSON.parse(...)'). En proyectos TypeScript, configura "trailingComma": "none" en Prettier para cualquier .json y así el formateador no las añadirá.
Cuando la coma final no es el bug real
Si un payload viene de una API o de una librería que genera JSON y trae una coma final, el problema está en la serialización upstream, no en el consumidor. Arreglar la coma localmente oculta un bug del generador que volverá en la próxima llamada — corrige el productor.
FAQ
P: ¿JSON.parse llegará a aceptar comas finales? R: No — el modo estricto es el estándar. P: ¿JSON5 es un sustituto seguro? R: Solo para configuración editada por personas; nunca para protocolos de red. P: ¿La herramienta de auto-reparación elimina solo comas finales? R: Sí, pega el JSON y las quita junto con otros errores de sintaxis habituales.
Para una explicación más profunda de por qué JSON prohíbe las comas finales en primer lugar — y lo que decidieron los autores de la especificación en el RFC 8259 — consulta Coma final en JSON: por qué { "a": 1, } lanza un error.
Véase también
Esta guía es una parada en un flujo de reparación más amplio que cubre comas finales, claves sin comillas, comillas simples y objetos serializados. Abre el centro para ver la secuencia completa.
Guías de reparación de JSON
Centros temáticos
- Errores de análisis de JSON: lee el mensaje, ve directo a la solución
- Reparar JSON no válido: de «qué falla» a un archivo limpio
- Formateador, validador y visor de JSON: elige la herramienta correcta
- Reparar la salida JSON de un LLM: manejar el casi-JSON de la IA
- Privacidad: herramientas JSON que no salen de tu navegador
- Interoperabilidad de JSON: 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 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
- Valida el JSON antes de las solicitudes API
- Formateador JSON frente a JSON Repair
- Arreglar errores JSON Unexpected Token
- Convertidor JSON a objeto JavaScript