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.
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 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